我正在尝试在名为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'

10-08 02:26