2013-09-05 7 views
0

Я пытаюсь вставить несколько записей в таблицу. Однако некоторые из этих записей могут быть одинаковыми для существующих: в таких сценариях эти повторяющиеся записи не следует вставлять.MySQL: как вставить несколько записей, но пропустить существующие?

Вот пример:

стол

id name number 
1 alice 12345 
2 bob  67890 

идентификатор автоинкрементным, в то время как имя и номер фактические данные.

Скажем теперь у меня есть еще 3 записи, которые я хочу, чтобы вставить в таблицу, используя одну команду:

name number 
alice 12345 
alice 54321 
bob  67890 

С 1-го и 3-й записи уже есть в таблице, было бы желательно, чтобы их игнорировать во вставке. Но db также будет принимать id как ключ, который всегда различается для каждой записи. Итак, как я могу подорвать это, пожалуйста?

Спасибо!

ответ

2

Если уникальным ключом считается (имя, номер), то на него наносится уникальный индекс. Если вы хотите пропустить повторяющиеся записи, проверьте INSERT ... IGNORE или сделайте серьезную магию с помощью ключа DUPLICATE.

Смежные вопросы