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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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
mysql中的多次删除没有删除记录_Mysql - Fatal编程技术网

mysql中的多次删除没有删除记录

mysql中的多次删除没有删除记录,mysql,Mysql,我有两个表:table1和table1_details(id是PK,table1.id=table1_details.id)。我编写多重删除sql来删除相关记录: delete a, b from table1 a, table1_details b where a.id=9 or b.t1_id =9 但是,它没有删除该记录。(表1有一个id=9的记录,表1\u详细信息没有id=9的记录) 有什么问题吗?我写错了格式。应该是 delete a, b from table1 a left JO

我有两个表:table1和table1_details(id是PK,table1.id=table1_details.id)。我编写多重删除sql来删除相关记录:

delete a, b from table1 a, table1_details b where a.id=9 or b.t1_id =9
但是,它没有删除该记录。(表1有一个id=9的记录,表1\u详细信息没有id=9的记录)


有什么问题吗?

我写错了格式。应该是

delete a, b from table1 a left JOIN table1_details b on a.id=b.t1_id where a.id=9

我写错了格式。应该是

delete a, b from table1 a left JOIN table1_details b on a.id=b.t1_id where a.id=9
运行此查询,它将从两个表中删除


运行此查询,它将从两个表中删除

此处的实际连接逻辑是什么?目前,您是基于任一表中的
id
进行加入的,即9。这就是你想要的吗?您应该考虑切换到现代连接语法。Table 1有一个列PID,它是PK,Tabl 1Bayes有一个列ID,它是PK和一个列T1YID,等于Tabl 1的ID。多删除SQL运行没有错误,但是没有删除我写的任何Realdif:从表1A删除A,B,表1B细节B,其中A.ID=9和A.ID= B.T1YID。它也没有删除任何记录。
SELECT*从表1 a内部连接表1\u详细信息b ON a.id=9或b.t1\u id=9
我发现了问题。这是因为表1\u详细信息没有与t1\u id=9匹配的记录。如果我在表1\u details中添加一条记录,其中t1\u id=9。多重删除sql有效,它将删除2个表中的相关记录。那么,对于这种情况,我必须单独编写deletesql吗?这里实际的连接逻辑是什么?目前,您是基于任一表中的
id
进行加入的,即9。这就是你想要的吗?您应该考虑切换到现代连接语法。Table 1有一个列PID,它是PK,Tabl 1Bayes有一个列ID,它是PK和一个列T1YID,等于Tabl 1的ID。多删除SQL运行没有错误,但是没有删除我写的任何Realdif:从表1A删除A,B,表1B细节B,其中A.ID=9和A.ID= B.T1YID。它也没有删除任何记录。
SELECT*从表1 a内部连接表1\u详细信息b ON a.id=9或b.t1\u id=9
我发现了问题。这是因为表1\u详细信息没有与t1\u id=9匹配的记录。如果我在表1\u details中添加一条记录,其中t1\u id=9。多重删除sql有效,它将删除2个表中的相关记录。那么,对于这种情况,我必须单独编写deletesql吗?