mysql多表删除行语法错误
为什么会有这样的疑问:mysql多表删除行语法错误,mysql,Mysql,为什么会有这样的疑问: SELECT * FROM `store_catalog_product_option` JOIN `store_catalog_product_option_type_value` WHERE `product_id`=15676 AND `store_catalog_product_option_type_value`.`sku` LIKE '%UNIT_%' 检索数据 但是替换 select * 与 因此 DELETE FROM `
SELECT *
FROM `store_catalog_product_option`
JOIN `store_catalog_product_option_type_value`
WHERE `product_id`=15676
AND `store_catalog_product_option_type_value`.`sku` LIKE '%UNIT_%'
检索数据
但是替换
select *
与
因此
DELETE
FROM `store_catalog_product_option`
JOIN `store_catalog_product_option_type_value`
WHERE `product_id`=15676
AND `store_catalog_product_option_type_value`.`sku` LIKE '%UNIT_%'
给出语法错误:
SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在第1行的“JOINstore\u catalog\u product\u option\u type\u value”附近使用的正确语法,其中product\u id
=15676和“sto”
因为
对于第一个多表语法,只删除from
子句前面列出的表中的匹配行。第二种多表语法,仅删除from
子句(在USING
子句之前)中列出的表中的匹配行
或:
对于左连接
,应该使用
DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL;
因为
对于第一个多表语法,只删除from
子句前面列出的表中的匹配行。第二种多表语法,仅删除from
子句(在USING
子句之前)中列出的表中的匹配行
或:
对于左连接
,应该使用
DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL;
您的加入应该有一个ON-part您的加入应该有一个ON-part您可以尝试以下操作:-
DELETE FROM `store_catalog_product_option` A
JOIN `store_catalog_product_option_type_value' B
ON A.ID = B.ID
WHERE A.`product_id`=15676
AND B.`sku` LIKE '%UNIT_%'
或者,您可以使用:-
DELETE A
FROM `store_catalog_product_option` A
JOIN `store_catalog_product_option_type_value' B
ON A.ID = B.ID
WHERE A.`product_id`=15676
AND B.`sku` LIKE '%UNIT_%'
…要仅从存储目录\u产品\u选项中删除,您可以尝试以下操作:-
DELETE FROM `store_catalog_product_option` A
JOIN `store_catalog_product_option_type_value' B
ON A.ID = B.ID
WHERE A.`product_id`=15676
AND B.`sku` LIKE '%UNIT_%'
或者,您可以使用:-
DELETE A
FROM `store_catalog_product_option` A
JOIN `store_catalog_product_option_type_value' B
ON A.ID = B.ID
WHERE A.`product_id`=15676
AND B.`sku` LIKE '%UNIT_%'
…要仅从store\u catalog\u product\u选项
中删除,我确实需要使用多表语法,还包括连接的ON条件
由于我想删除两个表中的行,在您的帮助之后,下面是我的工作查询:
DELETE O, V FROM `store_catalog_product_option` O JOIN `store_catalog_product_option_type_value` V on O.option_id=V.option_id WHERE `product_id`=15676 AND V.`sku` LIKE '%UNIT_%'
我确实需要使用多表语法,包括连接的ON条件
由于我想删除两个表中的行,在您的帮助之后,下面是我的工作查询:
DELETE O, V FROM `store_catalog_product_option` O JOIN `store_catalog_product_option_type_value` V on O.option_id=V.option_id WHERE `product_id`=15676 AND V.`sku` LIKE '%UNIT_%'
你能发布你的错误吗?你收到了什么错误?你能发布你的错误吗?你收到了什么错误?是否有第二种形式(使用)不起作用的情况,或者你只是喜欢第一种形式(不包括使用)?对于左连接,也就是说。是否有第二种形式(使用)不起作用的情况,或者您只是更喜欢第一种形式(不包括使用)?对于左连接,即。