Afrage funktioniert nicht

Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.736
Hallo zusammen,
diese abfrage im datenbank funktionniert nicht:

INSERT INTO 'traumprojekt'
('vorname', 'geschlecht', 'alter', 'fuehrerschein')
VALUES
( 'Mamouth', '', 17, 1 ')

die Datentypen sind :
vorname : varchar
geschlecht: varchar
alter : tinyint unsigned
fuehrerschein : tinyint

Fehlermeldung : #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 ''traumprojekt' ('vorname', 'geschlecht', 'alter', 'fuehrerschein') VALUES ' at line 1

Wo konnte der Fehler liegen?


Kann viele Ursachen haben. 'alter' ist schon mal ein reserviertes Wort, mir gelingt es auch nicht, eine Tabelle so anzulegen:

Code:
mysql> create table traumprojekt (vorname varchar, geschlecht varchar, xalter tinyint, fuehrerscheint tinyint);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version forthe right syntax to use near ' geschlecht varchar, xalter tinyint, fuehrerscheint tinyint)' at line 1

Hab mal extra aus alter xalter gemacht.

Code:
mysql> create table traumprojekt (vorname text, geschlecht text, xalter tinyint, fuehrerschein tinyint);
Query OK, 0 rows affected (0.07 sec)

Das würde gehen. In Deinem INSERT-Befehl ist vor der schließenden Klammer ein ' zuviel. Copy&Paste-Error? Aber eigentlich sind da noch mehr ' zuviel.

Code:
mysql> INSERT INTO traumprojekt (vorname, geschlecht, xalter, fuehrerschein) VALUES ( 'Mamouth', '', 17, 1);
Query OK, 1 row affected (0.06 sec)

Im übrigen keine so prall gute Idee, das Alter fix anzugeben. Deine Daten sind vielleicht morgen schon ungültig. Für Geschlecht kannst vermutlich alle mögliche eintragen, also z.B. auch 'Mülltonne'. Ebenso kann man bei Führerschein bei Dir Dinge wie -3, 0, NULL oder 27 eintragen. Wie wertest Du dann sowas später aus?

Wenn Du grad dabei bist, SQL an sich zu lernen, ist MySQL mit seinen unklaren Fehlermeldungen und seinen teilweise hinrissigen Verhalten auch nicht grade erste Wahl, das nur nebenbei.
 

akretschmer

Datenbank-Guru
Beiträge
9.736
Was schlag du vor, als erste Wahl für SQL lernen akretschmer? ich bin für neue Ideen öffen und probiere viel gerne

PostgreSQL, ganz klar. Deutlich näher am reinen SQL-Standard mit einer Fülle von Dingen, die MySQL nicht kann. Window-Functions zum Beispiel, CTE, eine Fülle verfügbarer interner Programmiersprachen, funktionierende CHECK-Constraints, passende Datentypen für alles mögliche, extreme Erweiterbarkeit, nur eine Storage-Engine, die aber alles kann, und und und.
 

jahking

Benutzer
Beiträge
8
ja ich hab gehört dass PostgreSQL ganz gut ist. ich habe bis jetzt nur mit XAMPP also MySQL gearbeitet. Weiss du wie man den PostSQL kriege?
 
Werbung:
Oben