2016-07-06 3 views
0

Почему я получаю сообщение об ошибке с этим утверждением?Оператор SQLite Delete с 2 внутренними соединениями

Error: could not prepare statement (1 near "t3": syntax error) 

(Примечание: таблицы переименованы для простоты)

DELETE FROM table3 t3 
INNER JOIN table2 t2 ON t2.tempId = t3.tempId 
INNER JOIN table1 t1 ON t1.tempId = t2.tempId 
WHERE t1.tempId = 9; 

ответ

-2

"Хех ..." Я не думаю, что DELETE заявление знает ничего о "присоединяется" ...

... и я уверен, что-как-щеколда думаю, что я понимаю, почему * (нет).»

Вместо этого сделайте следующее:

  • Начните сделку.
  • Запустите запрос SELECT, чтобы получить список идентификаторов записей, соответствующих критериям выбора .
  • «Ой, блин ...» Идите вперед и вывести список этих рекордсменов идентификаторов в какой-то лог-файл где-то ....
  • Выполнить серию DELETE запросов, чтобы удалить эти идентификаторы.
  • COMMIT. (или, во всяком случае, в-все идет не так, ROLLBACK.)
+0

Balls. Я пытался избежать этого! Благодарю. – Dave

+0

Yup ... * «Не пытайтесь слишком усердно ...» * **: - D ** Достаточно скоро ваша «умность» начнет обматывать вас, чтобы укусить вас ... * ahh, * nevermind .. , –

Смежные вопросы