Insert on duplicate key update - problem z autoincrement w kluczy primary.

0

Mam pewną zagwozdkę korzystam z zapytania SQL "Insert into ... on duplicate key update ..." Tabela ma klucz główny ID z autoincrement liczony od 1 oraz jedno pole oznaczone jako unique i to na jego podstawie robi insert lub update. Problem polega na tym że polecenie po on duplicate zwiększa licznik w polu id tzn.

Mamy w tabeli 1 rekord gdzie jego id=1 (autoincrement =1) następnie gdy wywołam np 10x polecenie insert into... on duplicate key update ... (za każdym razem polecenie wykonuje tylko update) to gdyby chciał teraz dodać nowy rekord to id zamiast = 2 będzie 11.

0

Tu nie ma zagwozdki, tak to działa:

(The effects are not identical for an InnoDB table where a is an auto-increment column. With an auto-increment column, an INSERT statement increases the auto-increment value but UPDATE does not.

https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1