Autor |
Nachricht |
Xaven
Threadersteller
Dabei seit: 26.03.2002
Ort: Motorcity Rüsselsheim
Alter: 41
Geschlecht:
|
Verfasst Sa 01.10.2005 12:27
Titel [mySQL] Datenbank erstellen |
|
|
Tach!
Irgendwas ist laut mySQL bei der Rezeptzeile falsch. Weiss jemand was genau? Irgendwie bekomme ich es nicht hin. Bin absolut mySQL-Noob .
CREATE TABLE `Cocktails` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`Cocktail` VARCHAR( 50 ) NOT NULL ,
`Rezept` TEXT( 1000 ) NOT NULL ,
`Eigenschaft` ENUM( "alkoholisch", "alkoholfrei" ) NOT NULL ,
`Zutat1` VARCHAR( 50 ) NOT NULL ,
`Zutat2` VARCHAR( 50 ) ,
`Zutat3` VARCHAR( 50 ) ,
`Zutat4` VARCHAR( 50 ) ,
`Zutat5` VARCHAR( 50 ) ,
`Zutat6` VARCHAR( 50 ) ,
`Zutat7` VARCHAR( 50 ) ,
`Zutat8` VARCHAR( 50 ) ,
`Zutat9` VARCHAR( 50 ) ,
`Zutat10` VARCHAR( 50 ) ,
PRIMARY KEY ( `id` )
)
|
|
|
|
|
Nimroy
Community Manager
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 46
Geschlecht:
|
Verfasst Sa 01.10.2005 12:34
Titel
|
|
|
Was sagt denn die Fehlermeldung?
|
|
|
|
|
Anzeige
|
|
|
Xaven
Threadersteller
Dabei seit: 26.03.2002
Ort: Motorcity Rüsselsheim
Alter: 41
Geschlecht:
|
Verfasst Sa 01.10.2005 12:49
Titel
|
|
|
Nimroy hat geschrieben: | Was sagt denn die Fehlermeldung? |
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 '( 1000 ) NOT NULL , `Eigenschaft` ENUM( "alkoholisch", "a
Zuletzt bearbeitet von Xaven am Sa 01.10.2005 12:50, insgesamt 1-mal bearbeitet
|
|
|
|
|
metty
Dabei seit: 21.03.2005
Ort: Köln
Alter: 40
Geschlecht:
|
Verfasst Sa 01.10.2005 12:56
Titel
|
|
|
Mit enum kenn ich mich jetzt nicht so aus, aber warum normalisierst du die tabelle nicht, gibst anstatt enum einfach "art" (o.ä.) an, und machst dann noch eine tabelle für die art.
Zuletzt bearbeitet von metty am Sa 01.10.2005 12:56, insgesamt 1-mal bearbeitet
|
|
|
|
|
Xaven
Threadersteller
Dabei seit: 26.03.2002
Ort: Motorcity Rüsselsheim
Alter: 41
Geschlecht:
|
Verfasst Sa 01.10.2005 12:58
Titel
|
|
|
metty hat geschrieben: | Mit enum kenn ich mich jetzt nicht so aus, aber warum normalisierst du die tabelle nicht, gibst anstatt enum einfach "art" (o.ä.) an, und machst dann noch eine tabelle für die art. |
Da kommt das gleiche bei raus. Neue Tabelle? Du meinst neue Zeile .
|
|
|
|
|
metty
Dabei seit: 21.03.2005
Ort: Köln
Alter: 40
Geschlecht:
|
Verfasst Sa 01.10.2005 13:06
Titel
|
|
|
Nein, ich meine eine neue Tabelle.
Also du nimmst deine Cocktailtabelle und gibst anstatt dem enum Feld ein Feld mit dem Namen art an. Das deklarierst du mit int.
Dann machst du eine weitere Tabelle mit dem namen art. Dort fügst du die Felder id und art ein. Darin schreibst du zwei Zeilen (id: 1, art: alkoholisch und id: 2, art: alkoholfrei).
Dann kannst du in der Cocktailtabelle in der Spalte art jeweils die Nummer eintragen, was deinem Cocktail entspricht.
Das nennt man auch Normalisieren. Einfach mal nach googlen
Gruß, Matthias
|
|
|
|
|
taste of ink
Dabei seit: 14.06.2005
Ort: Hamburg
Alter: 40
Geschlecht:
|
Verfasst Sa 01.10.2005 13:34
Titel
|
|
|
Alternative:
Mach doch einfach ne Textspalte draus:
Code: |
`Eigenschaft` VARCHAR( 50 ) NOT NULL ,
|
Irgendwo auf deiner Page kann man ja die Rezepte eingeben. In dieser PHP-Datei setzt du in die Eingabe ein Drop-Down-Menü, in dem man zwischen "alkoholisch" und "unalkoholisch" wählen kann.
Code: |
....
<select name="eigenschaft" size="1">
<option selected>alkoholisch</option>
<option>unalkoholisch</option>
</select>
....
|
Jetzt kann man in die Spalte nur die beiden Werte eintragen, und wenn du irgendwann noch ne Option hinzufügen willst, erweiterst du einfach das Drop-Down-Menü und du musst nichts an der Tabelle ändern.
PS: Es ist wichtig das immer beim Aufruf des Formulars einer der Werte aktiviert ist, sonnst könnte es passieren, dass jemand diese Feld nicht ausfüllt und ein leerer Eintrag in die Spalte kommt Code: | <option selected>alkoholisch</option>
|
Zuletzt bearbeitet von taste of ink am Sa 01.10.2005 13:35, insgesamt 1-mal bearbeitet
|
|
|
|
|
Xaven
Threadersteller
Dabei seit: 26.03.2002
Ort: Motorcity Rüsselsheim
Alter: 41
Geschlecht:
|
Verfasst Sa 01.10.2005 13:47
Titel
|
|
|
Eure Ideen sind ja alle nett, aber das Problem liegt nach wie vor in der "Rezept" Zeile und nicht in der Eigenschaft. Das habe ich schon durchgetestet. Wenn ich die Rezeptzeile weglasse lässt sich die Tabelle erstellen.
|
|
|
|
|
|
|
|
Ähnliche Themen |
MySQL-Datenbank
Datenbank exportieren (MySQL)
[PHP/MySQL] Datenbank auslesen.
[PHP/MySQL] Datum aus Datenbank per PHP umwandeln
XML Schnittstelle in mysql Datenbank eintragen
[PHP/MySQL] Bilder in die Datenbank laden
|
|