phpbar.de logo

Mailinglisten-Archive

=?iso-8859-1?Q?dbf2mysql=2DAnf=E4ngerfrage?=

dbf2mysql-Anfängerfrage

Ithamar Garbe mysql_(at)_lists.phpcenter.de
Tue, 10 Jul 2001 01:04:16 +0200


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