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

232
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', сам запрос :

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

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

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

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

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

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

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

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

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

227