Вставить если нет дубликатов mySQL

186
23 февраля 2018, 15:36

Всем привет! 4й час ковыряю интернет безрезульатно = Подскажите, пжлст, как составить запрос на добавление строки, но если еще НЕТ такой строки. Находил некоторые запросы - им нужен уникальный ключ, а его в таблице нет. Для примера

id  \ itemid
========
12  \  12
13  \  17
17  \  12
=========

Помогите пжст сформировать запрос который был запрещал добавить значение (17, 12 ) и добавил бы (17,13)

Answer 1
SET @id := 17;
SET @itemid := 12; -- или 13
INSERT INTO `table` (id, itemid)
SELECT @id, @itemid
WHERE NOT EXISTS ( SELECT 1
                   FROM `table` 
                   WHERE id = @id
                     AND itemid = @itemid
-- ну или так      WHERE (id, itemid) IN (@id, @itemid)
                 );
READ ALSO
Состояние БД в MySQL

Состояние БД в MySQL

Вот здесь http://prntscrcom/ihrfn9 и ниже есть значения выделенные красным

291
Ограничить результат запроса sql

Ограничить результат запроса sql

есть таблица product и таблица table_11 , в table_11 хранятся данные которые относятся к одному продукту в product , те

191
Оптимизация подзапросов SQL

Оптимизация подзапросов SQL

Имееться вот такой запрос

204
Аналог ltree для MySQL

Аналог ltree для MySQL

Добрый деньДля PostgreSQL можно установить пакет postgresql-contrib, с помощью которого можно использовать ltree, позволяющий хранить древовидные структуры...

383