我有2个表用户和pd有一个公共列i_uid
为了从这两个表中删除i_uid为1010的单行我使用php脚本中的mysqli :: query发出以下语句
DELETE
FROM `users`,`pd`
WHERE `users`.`i_uid`=`pd`.`i_uid` AND `users`.`i_uid` = 1010;
Run Code Online (Sandbox Code Playgroud)
有什么不对的吗?
因为要从多个表中删除行,所以唯一缺少的是指定要删除行的表,
DELETE `users`,`pd`
FROM `users`, `pd`
WHERE `users`.`i_uid`=`pd`.`i_uid` AND `users`.`i_uid` = 1010;
Run Code Online (Sandbox Code Playgroud)
在上面的查询中,它将删除两个表中的行.我建议使用ANSI连接更改语句,如下所示,
DELETE a, b
FROM users a
INNER JOIN pd b
ON a.i_uid = b.i_uid
WHERE a.i_uid = 1010
Run Code Online (Sandbox Code Playgroud)
如果你想从users表中删除,
DELETE a
FROM users a
INNER JOIN pd b
ON a.i_uid = b.i_uid
WHERE a.i_uid = 1010
Run Code Online (Sandbox Code Playgroud)