Mailinglisten-Archive |
Martin Scheibner wrote: > Was ist hier falsch? > > # create a new table > CREATE TABLE buch > ( > BUECHERID int unsigned not null auto_increment primary key, > ISBN Char(20) not null default '', > TITEL Char(80) not null default '', > AUTOR Char(50) not null default '', > BESCHREIB Char(150) not null default '', > VERLIEHEN Char(50) not null default '', > AUSLEIHE Date not null, > RUECKGABE Date not null, > PREIS, > KAUFDAT Date not null, > Hallo Martin, wahrscheinlich wurde beim Konvertieren ein Feld nicht erkannt oder konnte nicht korrekt umgeformt werden. MySQL meckert hier, weil in der Zeile "PREIS," keine Angabe über das Feld steht. Alle anderen Felder haben Angaben wie z.B. "Date not null": ein Datumsfeld, das bei einem Insert-Befehl nicht leer sein darf. Bei PREIS fehlt die Typangabe, MySQL kann nicht erkennen, ob es ein Integer-Feld oder ein Textfeld sein soll. Wenn du den Preis als String speichern willst, füge folgendes hinzu: "PREIS VARCHAR(10) NOT NULL". Die 10 bedeutet, dass das Feld 10 Byte lang ist, also 10 Stellen aufnehmen könnte. Da der Preis als String gespeichert wird, kannst du allerdings nicht so leicht Preise mit MySQL-Funktionen addieren, das müsstest du dann extern machen. Dann würde ich eher den INT empfehlen, also "PREIS INT". Im Normalfall tut es aber auch das VARCHAR-Feld. Mehr Infos zu MySQL findest du unter http://www.little-idiot.de/mysql/ Dort sind auch die Felder beschrieben... Viel Erfolg mit MySQL! Gruss, Ithamar Garbe --- !!NEU!! Fragen und Antworten zu MySQL und dieser Liste unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive