Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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 SQL-从表1中删除一些符合表2某些条件的RAW_Mysql_Sql - Fatal编程技术网

Mysql SQL-从表1中删除一些符合表2某些条件的RAW

Mysql SQL-从表1中删除一些符合表2某些条件的RAW,mysql,sql,Mysql,Sql,我有一个MySQL数据库,其中有两个表:表1,表2 表1的结构如下: ID, name, description TableID, Metadata, Metavalue 表2的结构如下: ID, name, description TableID, Metadata, Metavalue 现在,我想从表1和表2中删除Metadata=“Price”和Metavalue

我有一个MySQL数据库,其中有两个表:表1,表2

表1的结构如下:

ID, name, description
TableID, Metadata, Metavalue
表2的结构如下:

ID, name, description
TableID, Metadata, Metavalue
现在,我想从表1和表2中删除Metadata=“Price”和Metavalue<200000的所有行

这是我正在尝试的,但它不起作用:

DELETE Table1,  Table2
FROM Table2
INNER JOIN Table2 ON Table2.TableID = Table1.ID
WHERE Table2.metadata="Price" AND Table2.Metavalue < 200000
我错在哪里


注意:这些表非常大,因此我使用JOIN,因为据我所知,它优化了资源。

以下是可靠查询的示例:

DELETE Table1
     , Table2
  FROM Table1
  JOIN Table2 
    ON Table2.TableID = Table1.ID
 WHERE Table2.metadata = "Price" 
   AND Table2.Metavalue < 200000
删除表1
,表二
来自表1
加入表2
在Table2.TableID=Table1.ID上
其中Table2.metadata=“价格”
表2:元值<200000

请注意,使用外键约束可能可以更好地处理此类问题

仔细阅读您发布的查询。您使用的是MySQL还是MS SQL Server?@EzLo我认为OP使用的是MySQL。那没关系,我的评论是针对SQL Server的!表2中的
TableID
是表1.ID的外键吗?