插入到表如果另一个现有的表(不是外键)存在类似的价值(Insert Into table If si

2019-10-29 13:02发布

我试图插入一个名为AsksFor表中的“项目顺序”,我想,以确保项目和ItemManufacturer存在于表中卖出。 不过,我不断收到“语法错误,如意外,预计END_OF_INPUT或‘;’”使用IF。 任何人都知道任何其他方式来写这为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));

Answer 1:

EXISTS子句MySQL是不availaible。 反正你不需要它,在WHERE子句进行检查部分值是否存在于源表中的AND条件Sells

尝试这个

INSERT INTO AsksFor (Username, ItemName, ItemManufacturer)
SELECT DISTINCT 'Harish',ItemName, ItemManufacturer
        FROM Sells
        WHERE ItemName='zkoxtlv93' AND ItemManufacturer='tbzrt93'


文章来源: Insert Into table If similar value exists in another existing table (not a foreign key)