У меня есть запрос, который запускается каждый раз при входе пользователя в систему. Поскольку этот запрос касается информации, у пользователя может быть сторонний обновленный недавно Я думал, что было бы неплохо превратить комбо user_id + information
в таблицу уникальной. Таким образом, каждый раз, когда пользователь пытался сохранить новую информацию, он сохранял только ту информацию, которую у меня уже не было. Таким образом, первый запрос являетсяСохранение новых записей, отфильтрованных «уникальным» в mysql
INSERT INTO table VALUES ("1","cake"),("1","pie"),("1","bedsheets")
И как пользователь Входов на второй раз и будучи
INSERT INTO table VALUES ("1","cake"),("1","pie"),("1","bedsheets"),("1","chocolate")
Было бы только сохранить ("1","chocolate")
, потому что (идентификатор, информация) будучи уникальной пары все остальные не будет быть вставлен. Я пришел к осознанию того, что все они терпят неудачу, если только один терпит неудачу. Поэтому мой вопрос: есть ли способ переопределить эту операцию? Или мне нужно сначала запросить db для фильтрации информации, которую у меня уже есть? tyvm ...
Использование Thisi NSERT ИГНОРИРУЙТЕ в таблице ЗНАЧЕНИЯ (» 1" , "пирог"), ("1", "пирог"), ("1", "Простыня"), ("1", "шоколад"); –
@BerndBuffen Сладкий помощник! Я знал, что это не такой уж глупый вопрос. Ответьте, не комментируйте, поэтому я могу его одобрить :) – Fane
Когда вы используете ключевое слово IGNORE, поэтому все ошибки в исполнении игнорируются. Пример: если при выполнении инструкции INSERT у вас есть двойная или PRIMARY-ошибка, она игнорируется и выполнение не прерывается. –