Forum Webscript.Ru
Общие => Базы данных => Тема начата: Алексей от 09 Апреля 2005, 15:48:18
-
Привет!
Я что-то не пойму - в мускуле нельзя удалить записи из 2 таблиц чтоли?
Нужно удалить записи из 2 таблиц, где дата в NULL и не позже 2005-03-01.
Делаю так:
DELETE FROM user_main, user_data
WHERE user_main.user_visiting IS NULL
AND user_main.user_id = user_data.user_id
AND user_main.user_registration < \'2005-03-01\'
но это не работает :((
-
какая версия mysql ?
-
Макс
ээ, а как посмотреть? вроде бы 3.23.49
-
ээ, а как посмотреть?
SELECT VERSION();
-
commander
спасибо.
3.23.56-max-debug
-
и што??
-
Алексей
хмм... я чушь написал:
http://www.mysql.ru/docs/man/DELETE.html
-
Цитата из выше изложенной ссылки:
Выражение ORDER BY и использование нескольких таблиц в команде DELETE поддерживается в MySQL 4.0.
commander
похоже все таки не чужь.
-
for_i_0
обнову собрать не большая проблемма... :)
Алексей
либо писать функцию, либо переложить на приложение... либо... (самое лучшее) обновить версию...
-
ребят, в версии 4.0.15 это всё равно не работает:
Ошибка
SQL-запрос :
DELETE FROM user_main, user_data
WHERE user_main.user_visiting IS NULL AND user_main.user_id = user_data.user_id AND user_main.user_registration < \'2005-03-01\'
Ответ MySQL:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near \'WHERE user_main.user_visiting IS NULL AND use\'
-
Алексей
цитата из мануала.
MySQL 4.1.1 and up can additionally optimize the combination col_name = expr AND col_name IS NULL, a form that is common in resolved subqueries.
-
и?....
-
DELETE user_main, user_data FROM user_main, user_data WHERE user_main.user_visiting IS NULL AND user_main.user_registration < \'2005-03-01\' AND user_main.user_id = user_data.user_id;
Должно работать в версии: MySQL v4.0
-
for_i_0
спасибо, сработало!