Моя цель - выполнить вставку SQL, только если того же значения не существует.
это моя таблица1:
id(auto_increment)
version(string)
Мой запрос выглядит так:
INSERT IGNORE INTO table1 (version) VALUES ('12345');
Проблема в том, что оператор ignore не работает, потому что каждая строка отличается из-за столбца id (auto_increment).
У кого-нибудь здесь есть решение, позволяющее избежать двойного сохранения одинаковых значений?
Решение:
INSERT INTO table1 (version)
SELECT * FROM (SELECT '12345') AS tmp
WHERE NOT EXISTS (
SELECT version FROM table1 WHERE version = '12345'
) LIMIT 1;