你好,我正在尝试进行mysql查询,以查找mysql数据库中的表上是否存在特定字符串,如果不存在,则添加它。但我的查询似乎无法正常工作,我在网上找不到任何东西。 (也许在mysql中做这种事情不太可能,或者我做错了)
IF ( SELECT word FROM words WHERE word = 'hello' ) THEN
BEGIN select * from word;
END;
ELSE
BEGIN INSERT INTO TABLE word VALUES ('hello');
END;
END IF;
提前
答案 0 :(得分:2)
您可以将INSERT
与EXISTS
子句一起使用:
INSERT INTO yourTable (word)
SELECT 'word' FROM dual
WHERE NOT EXISTS (SELECT 1 FROM yourTable WHERE word = 'word');
您可能还想研究诸如唯一性约束(例如word
列上的唯一性约束)或upserts之类的东西,如果发现记录已经存在,它们可以进行更新。
答案 1 :(得分:0)
也许您可以尝试以下方法:
INSERT INTO `tablename` (`word`)
VALUES ('hello')
WHERE NOT EXISTS (
SELECT *
FROM `words`
WHERE `word` = 'hello'
);