Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Duplikat klucza, a brak rekordu
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Proszę o pomoc bo już wysiadam.
Mam tabelę T (MyISAM), w której klucz główny jest na standardowej kolumnie ID, a dodatkowo postawiony jest klucz unikalności na kolumnach:
K1 (MEDIUMINT(6) UNSIGNED)
K2 (MEDIUMINT(7) UNSIGNED)
K3 (MEDIUMINT(7) UNSIGNED)
K4 (DATE)
Przy wstawianiu rekordu poleceniem:
  1. INSERT INTO T (K1, K2, K3, K4, ILZKP, ILAKT) VALUES (947100, 7006066, 0, '2014-05-01', 0, 0)

otrzymuję błąd duplikatu klucza unikalnego.
Kod
Error Code: 1062. Duplicate entry '947100-7006066-0-2014-05-01' for key 'ui_T'

Dodając ON DUPLICATE KEY błąd nadal występuje.

Sprawdzając co to za rekord:
  1. SELECT * FROM T WHERE K1 = 947100 AND K2 = 7006066 AND K3 = 0 AND K4 = '2014-05-01'

w efekcie otrzymuję brak rekordów. O co może chodzić? :|
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Błąd mi wyrzuciło dzisiaj, wczoraj i przedwczoraj wykonywałem eksport danych z bazy do bazy i działał prawidłowo, dziś się coś takiego zaczęło dziać. Generalnie działa to tak, że w zapytaniu docelowym i tak występuje ON DUPLICATE żeby albo nadpisać rekord, albo wstawić nowy.

Klucz jest postawiony standardowo:
  1. CREATE TABLE T (...
  2. UNIQUE KEY `ui_T` (`K1`,`K2`,`K3`,`K4`)
  3. ...);

Sprawdziłem jeszcze jeden myk. Na tej samej maszynie utworzyłem tabelę z kolumnami MEDIUMINT(6) UNSIGNED oraz MEDIUMINT(7) UNSIGNED, wstawiłem do nich po parze 947100 oraz 7006066 w celu sprawdzenia, czy jakimś cudem wartości nie przekraczają zakresu. Nie, nie przekraczają.

// Podobny problem:
http://stackoverflow.com/questions/1313253...duplicate-entry
Spróbuję przeładować dane z tabeli.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 06:32