Niechciane dublowanie rekordów

Użytkowanie programu bazodanowego
xqz
Posty: 4
Rejestracja: śr gru 25, 2013 6:52 pm

Niechciane dublowanie rekordów

Post autor: xqz »

Cześć.

Dzisiaj jak wprowadziłem nowe rekordy to nagle zaczęły się powielać czyli;

Obecnie mam 40 rekordów po kolei według 'ID'. 1234..40.
Niestety nagle zaczęły się dublować rekordy i wygląda to tak:

1 2 3 ... 40 1 2 3 ... 22.

Od 1 do 22 wpisy się zdublowały. Jeśli dodam kolejny to również się zdubluje rekord numer 23. W czym leży problem?
Open office 4.1 na Windows 7
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Niechciane dublowanie rekordów

Post autor: Jan_J »

Dzisiaj? nagle? szklana kula?
Jaki był mechanizm wstawiania danych?
Czy tabela miała klucz własny lub chociaż zakaz dublowania wartości w kolumnie ID?
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
xqz
Posty: 4
Rejestracja: śr gru 25, 2013 6:52 pm

Re: Niechciane dublowanie rekordów

Post autor: xqz »

Dane wpisywane zostawały przez formularz. Jednak wprowadzanie bezpośrednio do tabeli również powoduje taki skutek.
Tabela miala klucz własny "Numer" AUTO_INCERTMENT PRIMARY KEY

Żadnego zakazu dublowania nie dawałem. Nie wiem jak.



I jak mówiłem to się dzieje tak:


1. A
2. B
3. C
4. D
.
.
.
40 Z2

I teraz kazdy kolejny rekord będzie dublowany tak:


1. A
2. B
3. C
4. D
.
.
.
40 Z2
1. A
2. B
3. C
.
.
.
22. Z2
23. Nowy rekord wpisany wyzej jako 41.
Open office 4.1 na Windows 7
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Niechciane dublowanie rekordów

Post autor: Jan_J »

xqz pisze:Tabela miala klucz własny "Numer" AUTO_INCERTMENT PRIMARY KEY
To wyrażenie nie jest zgodne ze składnią wbudowanej bazy HSQL. Więc nie mogło zadziałać skutecznie. Chyba że używasz innego systemu baz danych.
Żadnego zakazu dublowania nie dawałem. Nie wiem jak.
Primary key wymusza unikalność. Ale jeżeli żądanie zawierało błąd składni, nie zostało zrealizowane.

Dla HSQL:

Kod: Zaznacz cały

create table T (Numer integer primary key, Nazwa varchar(10) not null);
alter table T alter column "Numer" identity;
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
xqz
Posty: 4
Rejestracja: śr gru 25, 2013 6:52 pm

Re: Niechciane dublowanie rekordów

Post autor: xqz »

Już się samo naprawiło. Nie wiem w czym leżał błąd ale już się nie objawia :cry:
Open office 4.1 na Windows 7
ODPOWIEDZ