Подтвердить что ты не робот

Вставлять только в таблицу, если элемент не существует

В моей базе данных есть таблица с именем fruit:

Таблица fruit

+-------------+
| id | name   |
+ ----------- +
| 1  | apple  |
| 2  | orange |
| 3  | banana |
| 4  | grape  |
+-------------+

id является первичным ключом. Я хочу добавить записи в таблицу, но только если они уже не существуют.

Запрос

IF NOT EXISTS (SELECT name FROM fruit WHERE name = 'mango')
INSERT INTO fruit (name) 
VALUES ('mango')

Ошибка

Я использую приложение GUI SQL под названием Sequel Pro, и это вызывает ошибки со следующим:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS (SELECT name FROM fruit WHERE name = 'mango') INSERT INTO frui' at line 1

Возможно

Что-то рыбное может продолжаться. Запрос может останавливаться на INSERT INTO frui. Проблема с приложением? Или мой запрос неправильный?

4b9b3361

Ответ 1

Вам нужно будет использовать

ALTER TABLE fruit ADD UNIQUE (name) 

а затем используйте

INSERT IGNORE INTO fruit (name) VALUES ('mango')