Добавление записи в MySQL если такой еще нету

231
30 августа 2018, 00:20

Как добавлять записи в таблицу, только в случае если такой записи еще нету(не учитывая при сравнении столбец автоинкремента).

Можно вот так:

INSERT IGNORE INTO `tab` SET `tovar` = "vedro", `money` = 100;

но тогда автоинкремент увеличивается при каждой проверке, не смотря на то что запись не была добавлена- как этого избежать?

Какой способ проверки самый быстрый?

Answer 1

Попробуйте так:

INSERT INTO `tab` (tovar, money) SELECT 'vedro', '100'
WHERE NOT EXISTS (SELECT 1 FROM `tab` WHERE (tovar, money) IN ('vedro', '100'));

P.S. Вам не все равно на автоинкремент? ну и пусть себе увеличивается, вы его все равно фиг забьете.

READ ALSO
sql полнотекстный поиск выдает ошибку

sql полнотекстный поиск выдает ошибку

При выполнении запроса на полнотекстный поиск выдает ошибку Unknown column 'search' in 'where clause', сам запрос :

293
Как работает сервер…?

Как работает сервер…?

Всем приветОбьясните пожалуйста мне некоторые вещи

251
Кодировка полетела в codeigniter 3

Кодировка полетела в codeigniter 3

Проблемы с кодировкойИспользую codeigniter 3

268
Распознание регистра в php

Распознание регистра в php

В сети нашел синонимайзер на php, но он не учитывает регистр буквПодскажите как заставить его распознавать автоматически регистр букв

224