Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php mysql比较2个表,并使用REPLACE(id,';junk';';)作为id删除不匹配的表2 id_Mysql_Replace_Inner Join - Fatal编程技术网

php mysql比较2个表,并使用REPLACE(id,';junk';';)作为id删除不匹配的表2 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

我有两张桌子

表1的id列只是一个自动递增的数字 表2的id列是相同的,但以“vt_”开头,然后是数字

我需要删除table2上table2.id与table1.id不匹配的任何行,但是我被卡住了,因为我需要在比较这两个数字之前替换“vt_”

我知道我可以在SELECT中完成,比如“SELECT REPLACE(table2.id,'vts_','')AS table2_id”

我无法让它工作,我最后一次尝试是这样的:

$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_”,所以它确实有效。但是我如何让它删除不匹配的项目呢?当前代码将删除匹配项。。。我想这是一个开始