webForumDet fria alternativet

Duplicate entry '127' for key 1

Databaser & SQL

10 svar · 370 visningar · startad av joel_sundkvist

Medlem sedan feb. 2003240 inlägg
Frågan#1

Hej,

Jag har ett upptäckt ett litet problem i en gästbok jag använder på en sida. När någon skriver in ett meddelande så får man felmeddelandet:

Duplicate entry '127' for key 1

Den har funkar smärtfritt ända fram till nyligen.

Vad göra? GÄstboken bygger på php & MySql. Ska jag posta kod?

Tacksam för svar

Medlem sedan juni 200032 967 inlägg
#2

Du har fel datatyp på din räknarkolumn. Du har valt tinyint, vars övre gräns är 127. Byt till int.

Mvh

Medlem sedan feb. 2003240 inlägg
#3

Tack för snabbt svar!

Ursäkta min dumhet men hur gör man det? PhpMyAdmin?

Medlem sedan juni 200032 967 inlägg
#4

Det beror på vad man använder för administrationsprogram till MySQL.

Men, hur gjorde du när du skapade kolumnen?

Medlem sedan juni 200032 967 inlägg
#5

Man borde ju alltid kunna lösa det med en SQL-fråga typ:

ALTER TABLE tbl CHANGE COLUMN minräknare INT NOT NULL IDENTITY

Nu kan jag inte MySQL, så jag vet inte alls om det stämmer, men läs lite här.

mvh

Medlem sedan feb. 2003240 inlägg
#6

@nders skrev:

Det beror på vad man använder för administrationsprogram till MySQL.

Men, hur gjorde du när du skapade kolumnen?

Jag körde en installationsfil...

<?require ("settings.php");

if($_GET['do'] == "skapa"){
  $conn_poll = mysql_connect("$server", "$anvandare", "$losen");
  mysql_create_db($databas);
  mysql_select_db($databas);
mysql_query("
CREATE TABLE gastbok (
  id tinyint(3) NOT NULL auto_increment,
  namn varchar(50) NOT NULL,
  rubrik varchar(50) NOT NULL,
  mail varchar(50) NOT NULL,
  url varchar(50) NOT NULL,
  msg text NOT NULL,
  datum varchar(19) NOT NULL,
  svar text NOT NULL,
  ip varchar(15) NOT NULL,
  PRIMARY KEY  (id)
)") or die (mysql_error());

mysql_close();?>
  Databasen är nu klar att använda. Ta bort denna fil från servern för säkerhetens skull.
<?}else{?>
  <a href="skapa.php?do=skapa"><b>Skapa databasen</b></a>
<?}?>
Medlem sedan feb. 2003240 inlägg
#7

Nu funkar det.
Ändrade datatypen i phpmyadmin :)

Tack för snabbt svar Anders

Medlem sedan dec. 200012 464 inlägg
#8
 ALTER TABLE gastbok CHANGE id id INT
Medlem sedan feb. 2003240 inlägg
#9

En liten brasklapp bara:

Vad betyder auto_increment? Kan jag låta det stå kvar?

Medlem sedan juni 200032 967 inlägg
#10

auto_increment betyder att det blir en räknare av fältet. Värdet ökar automatiskt med ett vid varje insert. Du kan inte ge detta fält ett eget värde.

Medlem sedan feb. 2003240 inlägg
#11

Okej

Tack igen :)

298 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
164 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
167 ms — ändringar (db)