|
|
|
Уникальный ключ на 2 поля
|
|||
|---|---|---|---|
|
#18+
Добрый день, А как правильно задать Уникальные ключи, если структура полей в таблице такова: id – первичный (авто) name – может быть разным date – (дата год месяц день) может быть разной для этого name. Но одинаковыми они быть не могут, т.е. если при INSERT выяснится что Дата и Имя уже записана, то запись не далаем. т.е. чтобы не было: вася 1 января вася 1 января а было вася 1 января коля 1 января вася 2 января коля 2 января и при попытке записать вася 1 января, ничего не записывалось. если на date делаем Уникальный ключ, то через INSERT IGNORE INTO не получается записывать НОВОЕ имя. если задвать уникальный индекс на 2 поля: create unque nonclustered index idx0 on table (name, date) то получаем ошибку синтаксиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2015, 17:04:47 |
|
||
|
Уникальный ключ на 2 поля
|
|||
|---|---|---|---|
|
#18+
Akina, на самом деле надо было просто в pma выделить сразу несколько полей и сделать "назначить" уникальный ключ, а не по отдельности их выбирать. данные повторно не записываются лишний раз - всё ок. А можно совместить INSERT IGNORE INTO как-нибудь с REPLACE? чтобы запись игнорировалась, но если поле date изменилось, то произошла не запись, а обновление этой записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2015, 17:55:05 |
|
||
|
Уникальный ключ на 2 поля
|
|||
|---|---|---|---|
|
#18+
полагаю надо задействовать как-то ON DUPLICATE KEY UPDATE ? но уникальных ключа у нас два, т.е. если то, что собираемся записывать совпадает с name и его date , то тогда обновляем эту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2015, 21:42:38 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1832958]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
1335ms |
get topic data: |
6ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 1625ms |

| 0 / 0 |
