Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Составление SQL-запросов > Вставить запись, если такой нету за один запрос. |
Автор: Boing747 2.5.2008, 20:25 |
Есть таблица tab1 d MySQL. У нее есть поле ID - autoincrement и val - число. Хотелось бы написать запрос, чтобы если нету записи с определенным значением val, то запись добавлялась, иначе нет. Пример: INSERT INTO tab1 (val) VALUES (1); INSERT INTO tab1 (val) VALUES (2); INSERT INTO tab1 (val) VALUES (1); После такого скрипта в базе должно быть две записи(две первых, что мы добавили, а третья не добавилась, т к уже было поле с val = 1) Возможно ли записать за один запрос? |
Автор: skyboy 2.5.2008, 20:46 |
шаг 1. создать unique key на поле val шаг 2. воспользоваться конструкцией insert ignore .... для подавления ошибок дублирования уникального ключа |
Автор: Boing747 2.5.2008, 21:51 |
skyboy, Спасибо, помогло. |