Avatar billede jens7 Nybegynder
07. januar 2001 - 21:37 Der er 13 kommentarer

dobbelt

hvad kan det være at når man nu laver en tabel med 2 felter i og putter noget ind i den med en insert kommando, så bliver de sat ind i tabellen 2 gange istedet for 1?

tabellen ser således ud:

tekst varchar(50) not null
id varchar(20) not null auto_increment
Avatar billede morph Nybegynder
07. januar 2001 - 21:38 #1
hvordan ser din insert ud ?
Avatar billede jens7 Nybegynder
07. januar 2001 - 21:40 #2
og når man når over 10 records, så melder den at entry \"10\" er dublicate??
Avatar billede jens7 Nybegynder
07. januar 2001 - 21:41 #3
$insertSQL = \"insert into id (tekst)
              values (\'$var\')\";
mysql_query($insertSQL) or die(mysql_error());
Avatar billede morph Nybegynder
07. januar 2001 - 21:44 #4
prøv denne.

lav en lille ændring i din tabel
ALTER TABLE id CHANGE id id VARCHAR (50) UNSIGNED DEFAULT \'0\' not null AUTO_INCREMENT

prøv så igen
Avatar billede morph Nybegynder
07. januar 2001 - 21:45 #5
uhm VARCHAR (20)
Avatar billede stigc Nybegynder
07. januar 2001 - 21:45 #6
har du en submit knap på siden der kalder sql-delen og noget javscript der submitter formen?

Så lav type=submit om til type=button!
Avatar billede jens7 Nybegynder
07. januar 2001 - 21:48 #7
så melder den bare tilbage med:

You have an error in your SQL syntax near \'UNSIGNED DEFAULT \'0\' not null AUTO_INCREMENT\' at line 1
Avatar billede jens7 Nybegynder
07. januar 2001 - 21:51 #8
det er ikke en knap eller noget der kalder sql delen. insert koden er direkte sat ind på selve php siden.

jeg forsøgte at lave samme alter med phpmyadmin, med samme fejl.
Avatar billede morph Nybegynder
07. januar 2001 - 21:56 #9
det kunne godt være du skulle kalde tabelen noget andet en id da id er et reserveret ord
Avatar billede jens7 Nybegynder
07. januar 2001 - 21:57 #10
Jeg har også prøvet at kalde den for nr.
Avatar billede jens7 Nybegynder
07. januar 2001 - 22:09 #11
og nu har jeg så også prøvet at slette tabellen, for så at oprette den igen.. hvilket ikke kunne lade sig gøre..
Avatar billede wetdog Nybegynder
08. januar 2001 - 12:58 #12
prøv :\'

DROP TABLE IF EXISTS nr;
CREATE TABLE nr (
id int(4) not null primary key auto_increment,
tekst text);

$insertSQL = \"insert into nr (tekst) values(\'$var\')\";

mysql_query($insertSQL) or die(mysql_error());

WetDog
Avatar billede jens7 Nybegynder
08. januar 2001 - 21:02 #13
jeg fant ud af hvorfor den ikke kunne tælle til højere end 10.. det var nemlig fordi at det var en varchar, og ikke en int. men jeg lider stadig under problemet med at den gemmer inputtet dobbelt i tabellen!. Når jeg kører scriptet på min egen server, men på samme Mysql server hos min udbyder (freepaq) så funger det rigtigt. altså den gemmer det 1 gang. Men når scriptet bliver udført fra serveren så går det galt! er der andre der har samme erfaringer med Freepaq?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester