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
@ndersMedlem sedan juni 200032 969 inlägg Du har fel datatyp på din räknarkolumn. Du har valt tinyint, vars övre gräns är 127. Byt till int.
Mvh
Tack för snabbt svar!
Ursäkta min dumhet men hur gör man det? PhpMyAdmin?
@ndersMedlem sedan juni 200032 969 inlägg Det beror på vad man använder för administrationsprogram till MySQL.
Men, hur gjorde du när du skapade kolumnen?
@ndersMedlem sedan juni 200032 969 inlägg 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
@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>
<?}?>
Nu funkar det.
Ändrade datatypen i phpmyadmin :)
Tack för snabbt svar Anders
LarsGMedlem sedan dec. 200012 464 inlägg ALTER TABLE gastbok CHANGE id id INT
En liten brasklapp bara:
Vad betyder auto_increment? Kan jag låta det stå kvar?
@ndersMedlem sedan juni 200032 969 inlägg 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.