Есть таблица с столбцами: product_id, date, price
Как сделать проверку на уникальность по полям date, price ? Что бы при вставке не повторялась запись
если 05.12.2019 и 100 уже существует- не вставлять запись.
если 05.12.2019 и 101 не существует- вставлять запись.
Спасибо.
ALTER TABLE `table` ADD UNIQUE `unique_index`(`date`, `price`);
Возможно я поставил не правильно вопрос, но нашел идеальное решение в виде
INSERT INTO price_history (product_id, date, price)
SELECT * FROM (SELECT 'product_id', 'date', 'price') AS tmp
WHERE NOT EXISTS (SELECT price_history WHERE product_id = '1' AND date = '2019-12-05' AND price = '415')
LIMIT 1;
Таким образом если планировщик будет обновлять сегодня базу и повторится значение, он пропустит и не будет дублировать значение. Спасибо всем.
Например вот так
DROP TRIGGER IF EXISTS check_info;
DELIMITER $$
CREATE TRIGGER check_info BEFORE INSERT myTable FOR EACH ROW
BEGIN
IF NOT EXISTS (SELECT 1 FROM myTable WHERE date = NEW.date and price=NEW.price) THEN
INSERT INTO myTable (date,price)
VALUES (NEW.myTable.date,NEW.myTable.price);
END IF;
END $$
DELIMITER ;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В React JS, если правильно помню, был "prop" для не повторения таких блоков с одинаковой структурой, но с разными текстами