46356
Goto Top

Anfänger error - MySQL

Guten Tag!

Bin gerade an einem PHP Script Programmieren und wollte mich nun mal an MySQL herantrauen...
Doch irgendow gibt's hier einen Fehler, aber ich finde ihn nicht!

CREATE TABLE `users` (

`id` int(11) unsigned NOT NULL auto_increment,

`full` varchar(20) NOT NULL default '',

`birt` varchar(50) NOT NULL default '',
`mail` varchar(20) NOT NULL default '',

`name` varchar(50) NOT NULL default '',
`pass` varchar(50) NOT NULL default '',

PRIMARY KEY (`id`)

) TYPE=MyISAM;


INSERT INTO `users` (`id`, `full`, `birt`, `mail`, `name`, `pass`) VALUES (1, 'Mein Name', '01.01.1900', 'mainemail@irgendetwast.at', 'meinnickname', 'b594ffa0fc36841192cf4b62aa7ba00b',);

Danke

Content-ID: 66822

Url: https://administrator.de/contentid/66822

Ausgedruckt am: 26.11.2024 um 09:11 Uhr

Dani
Dani 22.08.2007 um 13:51:07 Uhr
Goto Top
Hi,
welches der beiden Statments geht denn nicht???

INSERT (korrigiert):
INSERT INTO `users` (`id`, `full`, `birt`, `mail`, `name`, `pass`)
VALUES (NULL, 'Mein Name',  '01.01.1900', 'mainemail@irgendetwast.at', 'meinnickname', 'b594ffa0fc36841192cf4b62aa7ba00b');  

Grüße
Dani
ich1987
ich1987 22.08.2007 um 13:51:14 Uhr
Goto Top
moin,

könntest du vielleicht noch den Fehler hier rein schreiben ?

bzw. die Fehlerausgabe


Danke.
46356
46356 22.08.2007 um 13:55:24 Uhr
Goto Top
Diese Fehlermldung kommt von phpmyadmin:

Fehler

SQL-Befehl:

INSERT INTO `users` ( `id` , `full` , `birt` , `mail` , `name` , `pass` )

MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
wakko
wakko 22.08.2007 um 15:41:23 Uhr
Goto Top
Lass mal die ID im insert-Statement weg (ist ja auto_inc, vlt. gibt es die 1 schon...), also:
INSERT INTO `users` (`full`, `birt`, `mail`, `name`, `pass`) VALUES ( 'Mein Name', '01.01.1900', 'mainemail@irgendetwast.at', 'meinnickname', 'b594ffa0fc36841192cf4b62aa7ba00b');
MfG
Henrik
edit: Da ist auch ein Komma vor der letzten Klammer zuviel:
'b594ffa0fc36841192cf4b62aa7ba00b', );
sollte so funktionieren:
'b594ffa0fc36841192cf4b62aa7ba00b');
SvenGuenter
SvenGuenter 22.08.2007 um 15:42:11 Uhr
Goto Top
sehe ich richtig das id ein autoincrement ist? dann musst du die nicht mit angeben, da diese sich automatisch erhöht durch das DBMS.

der nächste Fehler die Mailadresse hast du mit Varchar(20) definiert. zähle mal die zeichen in der Mailadresse

Letzter Fehler schau mal vor der schließenden Klammer das hast du ein Komma zu viel

hier der insert wie er klappt

INSERT INTO users ( full, birt, mail, name, pass)
VALUES
( 'Mein Name', '01.01.1900', 'mainemailirgendet', 'meinnickname', 'b594ffa0fc36841192cf4b62aa7ba00b')
46356
46356 22.08.2007 um 15:45:03 Uhr
Goto Top
Hallo
Danke für deine Antwort...
funktioniert leider noch immer nicht;
Fehlermeldung:

INSERT INTO `users` ( `full` , `birt` , `mail` , `name` , `pass` )
VALUES (
'Mein Name', '01.01.1900', 'mainemail@irgendetwast.at', 'meinnickname', 'b594ffa0fc36841192cf4b62aa7ba00b',
)

MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Danke
SvenGuenter
SvenGuenter 22.08.2007 um 15:46:36 Uhr
Goto Top
Hi wakko,

bei einem autoincrement darf man nie einen Wert mitgeben. Da meckert jedes DBMS rum. Ich glaube bei Access ( Allerdings ist es auch anmaßend Access als DB zu bezeichnen ) klappt das weil Access kein aktives DBMS hat aber MYSQL und MSSQL machen das nicht.

Nur zur Info an Dich, da du Dir nicht sicher warst


Gruß

Sven
wakko
wakko 22.08.2007 um 15:52:45 Uhr
Goto Top
Habs gerade unter MySQL (4.1.11) getestet, man kann doch im Insert eine ID mitgeben, auch wenn Sie als auto_increment definiert wurde.
(Hätte mich auch schwer gewundert, wenn nicht...)
MfG
SvenGuenter
SvenGuenter 22.08.2007 um 15:55:35 Uhr
Goto Top
Ich habe es gerade unter MYSQL 5 getestet. Da ging es nicht. Kann aber auch eine Einstellungssache sein.

Ist aber prinzipiell egal, da es doch eigentlich unsinnig ist ein feld zu füllen welches automatisch gefüllt werden soll oder wird ;o)