MySQL auto_increment probleem

Overzicht Reageren

Cees St

Cees St

26/04/2007 19:59:00
Quote Anchor link
Bij een Insert op een tabel met auto_increment veld komt MySQL met een 1064 error. Daarop heb ik met phpmyadmin een record in gevoerd en gezien dat deze er het volgende van maakt:
INSERT INTO TABLE ('id','name','etc') VALUES (NULL, 'Piet', 'verder')
(Het id veld is een auto_increment veld)
Nu zit het hem in die NULL, als ik die met quotes invoer dan is het een string en als ik de constante NULL opgeef dan is die leeg (maar blijkbaar geen NULL)
Weet iemand hoe je dit oplost, zonder die auto_increment er uit te kieperen.

Groet Cees
 
PHP hulp

PHP hulp

11/08/2022 23:39:12
 
PHP erik

PHP erik

26/04/2007 20:04:00
Quote Anchor link
INSERT INTO TABLE ('id','name','etc') VALUES (NULL, 'Piet', 'verder')

-->

INSERT INTO TABLE (id, name, etc) VALUES (NULL, 'Piet', 'verder')

Maar ik denk niet dat dit het probleem was, want dit zal je wel hier ter illustratie getypt hebben zonder na te denken.


Werk dit:

INSERT INTO tabel (name, etc) VALUES ('Piet', 'verder')

?
 
Cees St

Cees St

26/04/2007 20:11:00
Quote Anchor link
INSERT INTO stat_server ( 'name','ipno','port','admin','software' ) VALUES ('localhost','127.0.0.1','80','UsbWebserver','Apache/2.2.0 (Win32) PHP/5.1.6' )

Dit is wat ik wil, want ik dacht dat hij zelf dat autoveld wel deed.

PhpMyAdmin maakt dit:
INSERT INTO `stat_server` (`sid`, `name`, `ipno`, `port`, `admin`, `software`) VALUES (NULL, 'localhost', '127.0.0.1', '80', 'UsbWebserver', 'Apache/2.2.0 (Win32) PHP/5.1.6''');

Het zal wel iets simpels zijn waar ik over heen kijk

Groet Cees
 
PHP erik

PHP erik

26/04/2007 20:15:00
Quote Anchor link
Jouw eigen query is sowieso niet goed, vanwege de aanhalingstekens om de veldnamen. En dat ie bij NULL geen auto_increment doet is wel raar. Weet je zeker dat auto_increment op die row aan staat (domme vraag sorry). En zijn er niet te veel rijen voor het type? Dus stel sid is INT(3) en er staan al 1 miljoen rijen in, dan wil die ook nog wel eens problemen geven :-)

Verder vallen de 3 afsluitende aanhalingstekens in de tweede query me op (achter "PHP 5.1.6"). Dat hoort niet.
 
Cees St

Cees St

26/04/2007 20:20:00
Quote Anchor link
De grap is dat die aanhalingstekens geen probleem geven bij een select statement, ik zal ze eens weghalen.

Maar phpmyadmin zet er ook tekens om, andere waar ik de naam niet van weet-

De 2e query heb ik gewoon gekopieerd uit het phpmyadmin venster, want na het uitvoeren laat hij deze gewoon in een venster zien. Dus inderdaad met die extra quotes, was mij niet direct opgevallen
 
Cees St

Cees St

26/04/2007 20:27:00
Quote Anchor link
Het waren de aanhalingstekens, nu heb ik ` gebruikt en dan werkt het zonder dat ik het increment veld hoef te noemen.

INSERT INTO stat_server ( `name`,`ipno`,`port`,`admin`,`software` ) VALUES ('localhost','127.0.0.1','80','UsbWebserver','Apache/2.2.0 (Win32) PHP/5.1.6' )

Deze deed een goede INSERT

Bedankt voor het meedenken en de tip over die aanhalingstekens.

Groet Cees
 
PHP erik

PHP erik

26/04/2007 20:31:00
Quote Anchor link
Geen probleem.

trouwens,

` = backtick
 
Dutch Caffeine

Dutch Caffeine

26/04/2007 20:36:00
Quote Anchor link
Ik wil jullie ook bedanken, ik heb ook een enorm mooie fout gemaakt. Ik heb NULL dus niet ingevoerd bij een auto incrediment tabel. Thanks :D
 
PHP erik

PHP erik

26/04/2007 20:40:00
Quote Anchor link
Alexander schreef op 26.04.2007 20:36:
Ik wil jullie ook bedanken, ik heb ook een enorm mooie fout gemaakt. Ik heb NULL dus niet ingevoerd bij een auto incrediment tabel. Thanks :D


Dat is op zich ook niet nodig. Je kunt ook gewoon de hele row weglaten uit je INSERT-query.
 
Dutch Caffeine

Dutch Caffeine

26/04/2007 20:44:00
Quote Anchor link
Oke, dus het zou nog steeds niet werken. Met NULL erbij?
 
- SanThe -

- SanThe -

26/04/2007 20:44:00
Quote Anchor link
Zonder die vage backtics moet ie ook werken.
INSERT INTO stat_server (name, ipno, port, admin, software) VALUES ('localhost', '127.0.0.1', '80', 'UsbWebserver', 'Apache/2.2.0 (Win32) PHP/5.1.6')
 
PHP erik

PHP erik

26/04/2007 20:46:00
Quote Anchor link
SanThe schreef op 26.04.2007 20:44:
Zonder die vage backtics moet ie ook werken.
INSERT INTO stat_server (name, ipno, port, admin, software) VALUES ('localhost', '127.0.0.1', '80', 'UsbWebserver', 'Apache/2.2.0 (Win32) PHP/5.1.6')
Inderdaad. Backticks gebruikt MySQL ook als enige. Alleen dat was het probleem van dit topic verder niet.
 
Cees St

Cees St

26/04/2007 21:52:00
Quote Anchor link
Nog even geprobeerd zonder backticks, en dat werkte inderdaad ook.

Dat had ik eerder ook omdat ik die ticks normaal niet gebruik, maar had toen blijkbaar een fout in de query.

Groet Cees
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.