привет, я пытаюсь сделать запрос 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;
спасибо заранее






Вы можете использовать INSERT с предложением EXISTS:
INSERT INTO yourTable (word)
SELECT 'word' FROM dual
WHERE NOT EXISTS (SELECT 1 FROM yourTable WHERE word = 'word');
Возможно, вы захотите также изучить такие вещи, как уникальные ограничения (например, уникальное ограничение в столбце word) или upserts, которые могут выполнять обновление, если обнаруживает, что запись уже существует.
Возможно, вы могли бы попробовать что-то вроде этого:
INSERT INTO `tablename` (`word`)
VALUES ('hello')
WHERE NOT EXISTS (
SELECT *
FROM `words`
WHERE `word` = 'hello'
);
@Nick Да, моя автокоррекция MacBook Air взяла верх надо мной ... снова