konto usunięte

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

Witam

mam MySQL 5.0.51a-24. Czasami przy dużym obciążeniu MySQL chyba wariuje i zwraca błąd podczas wstawiania rekordu w stylu
Duplicate entry '1' for key 1
. Dziwne bo ID jest auto increment więc nie powinno tak robić.
Czy ktoś spotkał się z czymś podobnym?
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

Rzeczywiście dziwne. Kwerenda wstawia w to pole NULL czy konkretną wartość?

konto usunięte

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

NULL
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

Serwer samodzielny, czy w replikacji?

"Duże obciążenie" czyli jakie?

Ile wierszy jest w tabeli?

Jaki jest typ pola ID?

konto usunięte

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

samodzielny serwer
dziennie ~1 mln odsłon
około 2 mln wierszy
pole z ID - UNSIGNED INT
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

No dziwne... przy nieprawidłowo skonfigurowanej replikacji czasami się zdarza konflikt, ale skoro samodzielny to odpada.
UNSIGNED INT mieści 4mld pozycji, więc raczej się nie przepełnia (zresztą wtedy zgłaszałby, że ma problem ze wstawieniem 2^32-1 a nie 1)
Na razie żadnego pomysłu nie mam...

konto usunięte

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

To transakcja z commitem czy pojedynczy insert z domyslnym autocommitem?
Przemysław Krygier

Przemysław Krygier Specjalista Systemów
Informatycznych

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

Witam

Przedziwna rzecz ... hasło dość popularne w goooglach ... ale nic sensownego nie widać. Czy problem z autoinkrementacją dotyczy tylko jednej tabeli ? Czy tylko w jednym miejscu kodu znajduje się instrukcja INSERT do tej tabeli ?

Przyznaję że nie znam się na mysql ... ale jeżeli opisana sytuacja to bug ... to trudno się będzie przekonać.

Proszę o komentarz po rozwiązaniu problemuPrzemysław Krygier edytował(a) ten post dnia 30.03.09 o godzinie 20:50

konto usunięte

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

sytuacja w której występował problem wyglądała trochę inaczej niż nakreśliłem pierwszym poście [nie maiłem do niej dostępu] - insert był wykonywany przez procedurę. Ale to nieistotne. W każdym razie jest jakiś bug w MySQLu [jest na stronie info, może w 6 poprawią], jak w wolnym czasie znajdę link to podam. Ogólnie w MySQL jest problem z triggerami w kilku przypadkach.

konto usunięte

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

MyISAM czy InnoDB? Jeśli MyISAM, spróbuj InnoDB, na nim widziałem już dużo większe tabele działające bez problemu.

konto usunięte

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

wszystko na InnoDB
Marcin K.

Marcin K. Programowanie jest
moim powołaniem,
Alleluja

Temat: [MySQL] Duplicate entry 'X' for key X ... na kolumnie z...

Przesiadka na wersję 5.1.33 powinna pomóc tylko moga być problemy z migracją jeśli baza została źle zaprojektowana.

np .
Mysql 5.0.x dopuszcza w polach typu varchar + not null (jeśli wpis dodawany jest pusty)
Mysql 5.1.x generuje błąd na kolumnach varchar + not null przy pustej kolumnie dla wpisu.Marcin K. edytował(a) ten post dnia 05.04.09 o godzinie 17:02



Wyślij zaproszenie do