php mysql比较2个表,并使用REPLACE(id,';junk';';)作为id删除不匹配的表2 id
我有两张桌子 表1的id列只是一个自动递增的数字 表2的id列是相同的,但以“vt_”开头,然后是数字 我需要删除table2上table2.id与table1.id不匹配的任何行,但是我被卡住了,因为我需要在比较这两个数字之前替换“vt_” 我知道我可以在SELECT中完成,比如“SELECT REPLACE(table2.id,'vts_','')AS table2_id” 我无法让它工作,我最后一次尝试是这样的:php mysql比较2个表,并使用REPLACE(id,';junk';';)作为id删除不匹配的表2 id,mysql,replace,inner-join,Mysql,Replace,Inner Join,我有两张桌子 表1的id列只是一个自动递增的数字 表2的id列是相同的,但以“vt_”开头,然后是数字 我需要删除table2上table2.id与table1.id不匹配的任何行,但是我被卡住了,因为我需要在比较这两个数字之前替换“vt_” 我知道我可以在SELECT中完成,比如“SELECT REPLACE(table2.id,'vts_','')AS table2_id” 我无法让它工作,我最后一次尝试是这样的: $sql = @mysql_query("DELETE
$sql = @mysql_query("DELETE
voting
FROM
voting
INNER JOIN vouchers
ON REPLACE(voting.item,'vts_','') = vouchers.id");
在此处使用左连接
DELETE voting
FROM voting LEFT JOIN vouchers
ON REPLACE(voting.item,'vts_','') = vouchers.id
WHERE vouchers.id IS NULL
这个查询怎么不起作用?还尝试发布这两个表的一些示例数据。您是否尝试了
CONCAT('vts_',dictions.id)
Argh,我犯了一个错误,只有在你们发布时才注意到。它实际上是“vt_”,但在我的代码中我写了“vts_”,所以它确实有效。但是我如何让它删除不匹配的项目呢?当前代码将删除匹配项。。。我想这是一个开始