webForumDet fria alternativet

MySQL Felmedelande

5 svar · 1 420 visningar · startad av zebran

zebranMedlem sedan apr. 20072 inlägg
#1

Hej, jag får följande flemedellande i mysql:
SQL query:

INSERT INTO `ortsdatabas`.`artikel` (

`nr` ,
`namn` ,
`ålder` ,
`snödjup` ,
`inv`
)
VALUES (
'1','Jokmokk' , '898', '30', '1140'
)

MySQL said:

#1062 - Duplicate entry '1' for key 1

Tabellen består av 5 rader och 10 kolummer och är varchar.
nr är primärnyckel.
Databasen är över orter med påhittade uppgifter.

Det gick att fylla i data genom INSERT EN gång men försöker jag flyya i mer får jag detta felmedelande någon som vet vad som är fel?

cascaMedlem sedan feb. 20005 891 inlägg
#2

nr måste vara unik eftersom det är en primärnyckel.

PeddaMedlem sedan juni 20006 032 inlägg
#3

Du borde nog också sätta 'auto_increment' på fältet nr så ökas det automatiskt med varje insert.

GunnarDMedlem sedan juni 20014 290 inlägg
#4

Och sätter du auto_increment så behöver du inte sätta det i dina insert uttryck, det sköts automatiskt.

zebranMedlem sedan apr. 20072 inlägg
#5

casca skrev:

nr måste vara unik eftersom det är en primärnyckel.

Hur menar du, att värdet för nr (1) inte får förekomma någon annanstans.
Det kankse är bättre att köra utan primärnyckel ?

@ndersMedlem sedan juni 200032 969 inlägg
#6

zebran skrev:

Hur menar du, att värdet för nr (1) inte får förekomma någon annanstans.

I en primärnyckel måste alla värden vara unika.

zebran skrev:

Det kankse är bättre att köra utan primärnyckel ?

Nej, det är bättre att sätta nr-fältet som räknare (autoincrement) och ha det som primärnyckel. Alternativt lägga till ett ID-fält som är räknare och primärnyckel, om inte nr-fältet passar för ändamålet.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)