SQL INSERT: пропустить уже имеющиеся значения - PullRequest
1 голос
/ 25 июня 2010

Я пытаюсь добавить последовательность тегов в список тем.Я бы не стал создавать уникальное tag поле столбца, потому что у меня может быть один и тот же дубликат в зависимости от языка пользователя, как в примере

table_houses
id          name                    location
1           Victoria's Home         New York
2           Black Mesa Lab          New Mexico
3           Tube                    London

table_tags
id          tag          id_subjects       language
1           garage       1                 it
2           garage       2                 fr
3           research     3                 en
4           lab          3                 en
5           laboratorio  3                 it
6           garage       1                 it <== how to avoid this duplicated INSERT like first row?

Я видел пример, когда люди используют оператор INSERT IGNORE INTO, ноУ меня есть Он работает только с уникальными столбцами и используется для пропуска дублирующихся ошибок.

Существует ли какой-либо способ пропустить дублирующиеся теги только для одного языка?

1 Ответ

5 голосов
/ 25 июня 2010

Вам необходимо создать уникальный ключ для тега и языка.

alter table table_tags add unique(tag, language);

Тогда вы можете использовать

insert ignore into ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...