Mysql sql从两个表中删除id
使用phpmyadmin的MySQL版本5.5.37 我在从2个表中删除ID时遇到问题 这些表是jos_用户和jos_vm_用户信息 我需要使用jos_用户中的“之前注册”日期和“上次访问”日期从两个表中删除id 如果我运行这个-Mysql sql从两个表中删除id,mysql,sql,sql-delete,Mysql,Sql,Sql Delete,使用phpmyadmin的MySQL版本5.5.37 我在从2个表中删除ID时遇到问题 这些表是jos_用户和jos_vm_用户信息 我需要使用jos_用户中的“之前注册”日期和“上次访问”日期从两个表中删除id 如果我运行这个- DELETE jos_users,jos_vm_user_info from jos_users,jos_vm_user_info WHERE jos_users. `registerDate` < '2012-12-31 23:59:59' AND `last
DELETE jos_users,jos_vm_user_info from jos_users,jos_vm_user_info WHERE jos_users. `registerDate` < '2012-12-31 23:59:59' AND `lastvisitDate` < '2012-12-31 23:59:59'
我已删除“0行”。我预计将删除2000多行
我显然有点不对劲,但我对自己所做的还不够了解
还是有更好的方法
顺便说一句,使用表和条件语句进行选择很好
SELECT * FROM `jos_users` WHERE `registerDate` < '2012-12-31 23:59:59' AND `lastvisitDate` < '2012-12-31 23:59:59'
问题出在jos\u vm\u user\u info表中,id被删除。您的删除语法不正确 删除语法示例:
DELETE FROM tbl_name WHERE 1>0;
您的delete语法包含从…中部分删除某些列
突出显示的部分是错误的
在该页上查找多表删除
根据WHERE子句中的条件,可以在DELETE语句中指定多个表来删除一个或多个表中的行
谢谢大家的回答,非常感谢。这一切都有助于我更好地理解sql。 我意识到,要达到我想要的效果,最好的办法就是删除假用户,就是删除订单表中没有的所有id。 我在这里找到了答案
我从总共10000个id中删除了6000个 假设这两个表有外键关系,您可以使用级联删除来删除这两个表中的条目假设这两个表之间存在关系,那么我会在第二个表和delete cascade中设置一个外键。然后从第一个表中删除它将导致该行也从引用它的表中删除。可能的重复实际上,我认为他们可能指定了表名,而不是列。您可以用这种方式执行多表删除-请参阅我的答案。
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;