我正在尝试在名为AsksFor的表中插入“商品订单”,并且我想确保商品和商品制造商存在于表Sells中。但是我不断收到“语法错误,如果使用IF,则期望END_OF_INPUT或';'”。有人知道其他为MySQL编写此方法的方法吗?
INSERT INTO AsksFor (Username, ItemName, ItemManufacturer)
VALUES ('Harish', 'zkoxtlv93', 'tbzrt93')
IF EXISTS(SELECT ItemName, ItemManufacturer
FROM Sells
WHERE Sells.ItemName = VALUES(ItemName)
AND Sells.ItemManufacturer = VALUES(ItemManufacturer));
最佳答案
EXISTS子句不适用于MySQL。无论如何,您都不需要它,WHERE子句中的AND条件执行检查部分,源表Sells
中是否存在值。
尝试这个
INSERT INTO AsksFor (Username, ItemName, ItemManufacturer)
SELECT DISTINCT 'Harish',ItemName, ItemManufacturer
FROM Sells
WHERE ItemName='zkoxtlv93' AND ItemManufacturer='tbzrt93'