1

我正在尝试从两个 MySQL 表中删除:

1) table_images
2) table_images_links

具有相同 image_id 和 pair_id id 的所有行条目

1) table_images.image_id
2) table_images_links.pair_id

这个 id 的 table_images_links.il.object 应该完全等于 'cat'

我的查询是:

mysql_query("
DELETE FROM table_images im, table_images_links il 
WHERE im.image_id = il.pair_id 
AND il.object = 'cat'
");

问题是在此查询运行后没有发生任何事情。

我的问题是:我如何跟踪这一点并使查询根据我的需要工作。

谢谢你!

4

1 回答 1

3

在语句中加入表时,您需要指定要删除行的表DELETE。在这种情况下,请使用表名上给出的ALIAS 。

DELETE im, il                   -- this will delete row in both tables.
FROM   table_images im, table_images_links il 
WHERE  im.image_id = il.pair_id AND 
       il.object = 'cat'

或者

DELETE im, il                   -- this will delete row in both tables.
FROM   table_images im
       INNER JOIN table_images_links il 
           ON  im.image_id = il.pair_id AND 
               il.object = 'cat'
于 2013-04-02T15:05:12.420 回答