ошибка с оператором sql. пытаясь присоединить таблицу к строке, а затем удалить выбранные идентификаторы - PullRequest
1 голос
/ 08 декабря 2011

Я попытался объединить 2 таблицы, а затем удалить выбранные идентификаторы, используя «IN».Это дало мне ошибку и мне было интересно, что я делаю с этим неправильно.

DELETE 

FROM 
  my_table b
INNER JOIN 
  my_table_assoc a
ON 
  b.foo_id= a.foo_id
WHERE  
  b.foo_id IN ($delete_list) ";

Однако, когда я думаю об этом таким образом, это не имеет смысла, потому что я не могу удалить идентификатор в my_table_assoc.Нужно ли использовать внешнее объединение для одновременного удаления нужной строки в обеих таблицах?

1 Ответ

4 голосов
/ 08 декабря 2011

DELETE не удаляет столбцы, он удаляет строки.

Синтаксис позволяет DELETE b, a FROM ... или DELETE b.*, a.* FROM ....

Нет смысла перечислять конкретные столбцы, которые вы хотите удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...