如果一个商家有2行,我正在尝试删除MySql中的一行。删除哪一行并不重要。
当我运行时:
SELECT * FROM products.merchant_configs WHERE `configKey` = 'CHECK_BALANCE_SUBJECT'
AND merchantId = 6;
我明白了:
现在我尝试删除其中一行:
DELETE FROM products.merchant_configs
WHERE id = (
SELECT id FROM products.merchant_configs WHERE `configKey` = 'CHECK_BALANCE_SUBJECT'
AND merchantId = 6
LIMIT 2 OFFSET 1
);
我收到以下错误:
Error Code: 1093. You can't specify target table 'merchant_configs' for update in FROM clause
到底怎么回事?
发布于 2019-05-28 11:19:34
将查询嵌套在另一个select语句中:
DELETE FROM products.merchant_configs
WHERE id = (SELECT t.id FROM (
SELECT id FROM products.merchant_configs WHERE `configKey` = 'CHECK_BALANCE_SUBJECT'
AND merchantId = 6
LIMIT 2 OFFSET 1
) t);
请参阅demo。
https://stackoverflow.com/questions/56340913
复制