|
|
|
|
|
для: Medulla
(18.06.2007 в 07:25)
| | Под новые вопросы лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: Trianon
(17.06.2007 в 20:43)
| | необходимо каскадно обновить/удалить только зависимые от id записи. количество уровней заранее неизвестно.
нпр, id
5550000000
5551000000
5551000001
5551000002
5551100000 5551100001
в базе:
id | kod (определяет вышестоящий уровень)
5551000000 | 5550000000
5551100001 | 5551100000
присваиваем 5551000000=666100000=> должны измениться только 6661000001
6661000002
$query = "UPDATE catalogue SET id = CONCAT('$new_prefix', SUBSTRING(id,
1+LENGTH('$old_prefix'))) WHERE id like
'{$old_prefix}_______' and kod = $id or
kod2 = $id or (kod =id or kod2 =id in
(select * from catalogue where
kod =id or kod2 =id in (select * from
catalogue where
))) и.т.д.
";
|
"UPDATE catalogue SET kod =
CONCAT('$new_prefix', SUBSTRING(kod,
1+LENGTH('$old_prefix'))) WHERE kod like
'{$old_prefix}_______'and kod = $id or kod2
= $id[-//-//query]";
|
"UPDATE catalogue SET kod2 =
CONCAT('$new_prefix', SUBSTRING(kod2,
1+LENGTH('$old_prefix'))) WHERE kod2 like
'{$old_prefix}_______'and kod = $id or kod2
= $id[-//-//query]";
|
$query4="delete * from catalogue
where id=$id
or kod= $id or kod2 = $id or
(kod=id or kod2=id in (select * from
catalogue where
kod=id or kod2=id in (select * from
catalogue where
kod=id or kod2=id (select * from
catalogue where
or kod=id or kod2=id (select * from
catalogue where
)
))
))";
|
не знаю как исправить. | |
|
|
|
|
|
|
|
для: Medulla
(17.06.2007 в 20:39)
| | Почему не работает?
У Вас пока нечего объединять. | |
|
|
|
|
|
|
|
для: Medulla
(15.06.2007 в 13:02)
| | опять вопросы)
структура таблицы id, ....., kod,kod2 (обозначают родителские id)
выполняю запрос:
$query = "UPDATE catalogue SET id = CONCAT('$new_prefix', SUBSTRING(id, 1+LENGTH('$old_prefix'))) WHERE id like '{$old_prefix}_______'";
|
необходимо чтобы kod/2 также получили новые префиксы, аналог. id:
$query2 = "UPDATE catalogue SET kod = CONCAT('$new_prefix', SUBSTRING(kod, 1+LENGTH('$old_prefix'))) WHERE kod like '{$old_prefix}_______'";
| так не работает.
каким образом можно объединить все запросы в один? заранее спасибо | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2007 в 14:48)
| | спасибо большое) | |
|
|
|
|
|
|
|
для: Medulla
(15.06.2007 в 14:45)
| | substr($id2,0,3); | |
|
|
|
|
|
|
|
для: Medulla
(15.06.2007 в 14:45)
| | substr($id,0,3); | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2007 в 14:20)
| | - | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2007 в 14:20)
| | $old_prefix =substr($id,0,2);
$new_prefix = substr($id2,0,2);
$query = "UPDATE catalogue SET id = COUNCAT('$new_prefix', SUBSTRING(id, 1+LENGTH('$old_prefix'))) WHERE id like '{$old_prefix}_______'";
результата нет. | |
|
|
|
|
|
|
|
для: Medulla
(15.06.2007 в 14:02)
| |
$old_prefix = '555';
$new_prefix = '666';
$query = "UPDATE catalogue
SET id = COUNCAT('$new_prefix', SUBSTRING(id, 1+LENGTH('$old_prefix')))
WHERE id like '{$old_prefix}_______'"
|
| |
|
|
|
|