我在mysql的内连接方面遇到了一些问题 .
我有以下代码:
DELETE T1,T2 FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.id = T2.pageid WHERE T1.ID = 2
这里的问题是如果表2中没有任何内容可以删除 .
例如,如果table1和table2具有ID 2,则它们都删除它们 . 如果table1中只有ID 2,则不会删除table1中的记录 .
我已经尝试使用外键但它也不起作用:
CREATE TABLE banners (
id int(11) NOT NULL AUTO_INCREMENT,
username TEXT NOT NULL,
pageid int(11) NOT NULL,
sitename TEXT NOT NULL,
imgurl TEXT NOT NULL,
refurl TEXT NOT NULL,
clicks int(11) NOT NULL,
PRIMARY KEY (id),
KEY pageid (pageid),
CONSTRAINT edits_ibfk_1
FOREIGN KEY (pageid)
REFERENCES pages (id)
ON DELETE CASCADE
)
如果我使用SQL:
DELETE FROM banners WHERE id= ?
它只删除table1和左table2记录那里:(
我更喜欢用SQL查询来做到这一点 . 在这种情况下有人可以帮助我吗?谢谢!