Artur_xD 403 Опубликовано 8 марта, 2013 В общем к запросам SQL никогда особо не уделял внимания , обычно все просто ( поправить количество столбцов ). Но мне нужно подкоректировать сложный запрос: DELETE FROM spawnlist WHERE npc_templateid=SELECT id FROM npc WHERE type='l2monster' AND level<60; Никто не подскажет что здесь неправильно? Это не первый мой сложный sql запрос, но первый из Delete. Другие вроде работали. С меня + Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Naik 419 Опубликовано 8 марта, 2013 DELETE FROM spawnlist WHERE npc_templateid = (SELECT id FROM npc WHERE type='l2monster' AND level<60); Не забывай расставлять скобки, а то нарушаешь приоритетность. А так запрос должен быть правильный. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Artur_xD 403 Опубликовано 8 марта, 2013 DELETE FROM spawnlist WHERE npc_templateid = (SELECT id FROM npc WHERE type='l2monster' AND level<60); Не забывай расставлять скобки, а то нарушаешь приоритетность. А так запрос должен быть правильный. Пытался уже: DELETE FROM spawnlist WHERE npc_templateid='SELECT id FROM npc WHERE type='l2monster' AND level<60'; DELETE FROM spawnlist WHERE 'npc_templateid'='SELECT id FROM npc WHERE type='l2monster' AND level<60'; DELETE FROM spawnlist WHERE 'npc_templateid'=SELECT id FROM npc WHERE type='l2monster' AND level<60; DELETE FROM 'spawnlist' WHERE 'npc_templateid'=SELECT 'id' FROM 'npc' WHERE type='l2monster' AND level<60; Все также шляпа... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Naik 419 Опубликовано 8 марта, 2013 А какую ошибку-то пишет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Andis 117 Опубликовано 8 марта, 2013 (изменено) DELETE FROM `spawnlist` WHERE `npc_templateid` = 'SELECT id FROM npc WHERE type=l2monster AND level<60'; Изменено 8 марта, 2013 пользователем andis Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Artur_xD 403 Опубликовано 8 марта, 2013 А какую ошибку-то пишет? Что-то вроде ошибка в SQL запросе. DELETE FROM `spawnlist` WHERE `npc_templateid` = 'SELECT id FROM npc WHERE type=l2monster AND level<60'; DELETE FROM `spawnlist` WHERE `npc_templateid`='SELECT id FROM npc WHERE type=l2monster AND level<60'; Пишет Query OK, 0 rows affected Но на самом деле ничего не удаляет. В данном случае проблема в отсутствии '' возле L2Monster, но при их добавлению начинается шляпа. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Artur_xD 403 Опубликовано 8 марта, 2013 Проблема решена. Возможно кому-то будет полезно: DELETE FROM spawnlist WHERE npc_templateid IN (select id from npc where type='l2monster' and level<60); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты