SQL Fehler #1064

Thorbenlun

Experte
Thread Starter
Mitglied seit
19.05.2014
Beiträge
89
Guten Morgen,

Ich wollte/sollte für ein Schulprojekt eine MySQL Tabelle erstellen.
Dieses soll in einem Befehl realisiert werden.
Ich habe auch schon den Befehl wie er theoretisch funktionieren sollte erstellt. Jedoch gibt mir MySQL immer den Fehler #1064.
Leider bin ich mit meinem Latein am Ende.


USE GPU;
CREATE TABLE Grafikkarten
(
`id` INT (10) NOT NULL AND AUTO_INCREMENT=100 PRIMARY KEY,
`name` CHAR (40) NOT NULL,
`serie` CHAR (15) NOT NULL,
`release` DATE ,
`schnittstelle` CHAR (15) NOT NULL,
`speicher` UNSIGNED SMALLINT,
`speicherart` CHAR (10),
`speicheranbindung` UNSIGNED SMALLINT,
`boost-takt` UNSIGNED SMALLINT,
`speichertakt` UNSIGNED SMALLINT,
`shaders` UNSIGNED SMALLINT,

);

Wo ich vermute wo der Fehler liegen könnte ist :
Date in Zeile 7
AND AUTO_INCREMENT=100 in Zeile 4
PRIMARY KEY in Zeile 4
UNSIGNED vor SMALLINT und INT


Meine Idee wäre, dass ich für die Festlegung von `id` als PRIMARY KEY ein neuen Befehl (nennt man das so?) erstelle, also

PRIMARY KEY (`id`)


Habt ihr irgendwelche bestimmte Tipps und Tricks dafür, habe mich die letzten Tage durch Foren gekämpft, Mitschüler und Lehrer gefragt.

Ich bedanke mich schon mal im vorraus für eure Hilfe und eure Zeit.

MFG Thorben
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das "Unsigned" muss jeweils hinter "Smallint".
Wenn Du das AutoIncrement auf 100 haben willst, musst Du das nachträglich setzten.
Not Null auf einem PrimaryKey muss nicht explizit gesetzt werden.
Das letzte Komma ist unnötig.

Probiers mal damit:

Code:
CREATE TABLE Grafikkarten
(
`id` INT (10) PRIMARY KEY AUTO_INCREMENT,
`name` CHAR (40) NOT NULL,
`serie` CHAR (15) NOT NULL,
`release` DATE ,
`schnittstelle` CHAR (15) NOT NULL,
`speicher` SMALLINT UNSIGNED ,
`speicherart` CHAR (10),
`speicheranbindung` SMALLINT UNSIGNED ,
`boost-takt` SMALLINT UNSIGNED ,
`speichertakt` SMALLINT UNSIGNED ,
`shaders` SMALLINT UNSIGNED 

)AUTO_INCREMENT=100;
 
Leider hat er immer noch ein Problem, er stört sich an der Klammer vor AUTO_INCREMENT
 
  1. Das "AUTO_INCREMENT=100" muss nach der letzten geschlossenen Klammer stehen und das "AND" davor muss weg.
  2. Es ist "SMALLINT UNSIGNED" nicht umgekehrt.
  3. Das Komma am Ende der "shaders"-Zeile muss weg.

Das Beispiel von Elgar funktioniert perfekt. Was nutzt du denn für eine MySQL-Version und wie lautet die exakte Fehlermeldung?
 
Muss mich Entschuldigen war mein Fehler, hatte ihn kurz danach auch gefunden.

Mein Fehler war, dass ich nach dem letzten SMALLINT UNSIGNED ein komma gesetzt habe.

Jetzt funktioniert alles Super.

Mein einziges Problem ist jetzt, dass ich auch überprüfen soll bzw. muss ob die Tabelle schon existiert.
Im Moment "überprüfe" ich es in dem ich schreibe DROP TABLE Grafikkarte jedoch wenn diese Tabelle noch nicht existiert gibt er mir so eine Fehlermeldung, wie kann ich das wirklich überprüfen ?
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh