[gelöst]MySQL Fehler Error Code

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

[gelöst]MySQL Fehler Error Code

Beitrag von debianix » 21.09.2013 11:12:26

Hi!

Ich habe folgendes Problem und komme nicht weiter. Ich nutze Debian und XAMPP 1.8.1.

Vielleicht kann mir hier jemand helfen, wieso folgende kleine MySQL-Übung ständig fehlschlägt...

Das Anlegen der ersten beiden Tabellen funktioniert:

Code: Alles auswählen

create table artist
(artist_id int PRIMARY KEY,
name varchar(50));

Code: Alles auswählen

create table sort
(sort_id tinyint PRIMARY KEY,
name varchar(20));
Aber hier komme ich verschiedene Fehlermeldungen:

Code: Alles auswählen

create table cd
(cd_id int PRIMARY KEY,
sort_id tinyint NOT NULL,
title varchar(30),
rec_method char(3) check rec_method in ('AAD','ADD','DDD'),
FOREIGN KEY (sort_id) REFERENCES sort );
Seltsamerweise steht in den Lernunterlagen auch rec_method char(3) und NICHT rec_method varchar(3) ...aber egal wie... es funktioniert leider nicht.

Was mache ich falsch?

DANKE schon jetzt für eure Mühe.
Zuletzt geändert von debianix am 22.09.2013 20:09:08, insgesamt 1-mal geändert.
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

Benutzeravatar
4A4B
Beiträge: 962
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: MySQL Fehler Error Code

Beitrag von 4A4B » 21.09.2013 11:32:54

Und wie lauten die Fehlermeldungen?

char(3) bedeutet, dass das Datenfeld genau drei Zeichen beinhaltet, varchar(3) im Gegensatz dazu maximal drei Zeichen

DeletedUserReAsG

Re: MySQL Fehler Error Code

Beitrag von DeletedUserReAsG » 21.09.2013 11:34:33

Aber hier komme ich verschiedene Fehlermeldungen:
Könntest du die bitte nachreichen? Dazu die Angabe, welche MySQL-Version und optional den Grund, warum es XAMPP und nicht die entsprechenden Komponenten aus Debians nativen Repos sein muss?

cu,
niemand

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: MySQL Fehler Error Code

Beitrag von debianix » 21.09.2013 13:44:29

Hier die Fehlermeldung:

Code: Alles auswählen

ERROR 1064 (42000): 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 'rec_method in ('AAD','ADD','DDD'),
FOREIGN KEY (sort_id) REFERENCES sort )' at line 5
Ich nutze XAMPP 1.8.1 weil ich dachte zum Üben für MySQL und PHP ist das die einfachste Variante...

Folgende Progrgramm-Versionen sind enthalten:
Apache 2.4.3, MySQL 5.5.27, PHP 5.4.7 und phpMyAdmin 3.5.2.2
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

DeletedUserReAsG

Re: MySQL Fehler Error Code

Beitrag von DeletedUserReAsG » 21.09.2013 13:55:55

Dann würde ich das CHECK einfach weglassen. Wenn ich folgendes richtig interpretiere, ist’s sowieso ohne Funktion:
https://dev.mysql.com/doc/refman/5.5/en/create-table.html hat geschrieben:The CHECK clause is parsed but ignored by all storage engines. See Section 1.8.5.4, “Foreign Key Differences”.
Was XAMPP angeht, halte ich es für einfacher und sinnvoller, die bereitgestellten (und zusammenarbeitenden) Pakete selbst zu installieren. Beugt Verwirrungen vor, wenn mit Ersterem entwickelte Sachen auf ’nem realen System dann nicht mehr funktionieren. Oder man an der falschen php.ini schraubt. Oder …. ;)

cu,
niemand

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: MySQL Fehler Error Code

Beitrag von debianix » 21.09.2013 14:56:43

Hmmm ok dann installiere ich die Pakete mal einzeln...

Leider funktioniert folgender Code auch nicht:

Code: Alles auswählen

create table cd (cd_id int PRIMARY KEY, sort_id tinyint NOT NULL, title varchar(30), rec_method char(3), FOREIGN KEY (sort_id) REFERENCES sort );
Bringt folgende Fehlermeldung:

Code: Alles auswählen

ERROR 1005 (HY000): Can't create table 'cd_verwaltung.cd' (errno: 150)
Tz... so wenig Zeilen Code und nichts funktioniert :lol: :roll:
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

Benutzeravatar
4A4B
Beiträge: 962
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: MySQL Fehler Error Code

Beitrag von 4A4B » 21.09.2013 17:41:27

Welche Speicher-Engien verwendest du - InnoDB?

Die Fehler-Codes bez. InnoDB sind hier aufgeführt:

http://dev.mysql.com/doc/refman/5.1/de/ ... codes.html
1005 (ER_CANT_CREATE_TABLE)

Tabelle kann nicht angelegt werden. Wenn die Fehlermeldung auf errno 150 verweist, schlug die Tabellenerzeugung fehl, weil ein Fremdschlüssel-Constraint nicht richtig gebildet wurde.
Die hier aufgeführten Bedingungen würde ich überprüfen:

http://dev.mysql.com/doc/refman/5.1/de/ ... aints.html

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: MySQL Fehler Error Code

Beitrag von debianix » 22.09.2013 08:45:03

hm... also ich bin wohl echt zu doof :roll: !?

Aber selbst dss hier funktioniert nicht....

Code: Alles auswählen

create table cd ( cd_id int PRIMARY KEY, sort_id tinyint NOT NULL, title varchar(30);
Fehler:

Code: Alles auswählen

ERROR 1064 (42000): 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 '' at line 1
Ja ist eine InnoDB in Verwendung...probiere jetzt noch etwar rum :wink:
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

Benutzeravatar
4A4B
Beiträge: 962
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: MySQL Fehler Error Code

Beitrag von 4A4B » 22.09.2013 08:53:17

Da fehlt eine schließende Klammer vor dem ";"

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: MySQL Fehler Error Code

Beitrag von debianix » 22.09.2013 09:19:41

4A4B hat geschrieben:Da fehlt eine schließende Klammer vor dem ";"
mist - danke :oops:
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: MySQL Fehler Error Code

Beitrag von debianix » 22.09.2013 17:23:29

Also ich habe ide Tabellen auch mal mittles " ALTER TABLE track ENGINE = myisam;" geändert...ohne Erfolg.

Ohne die check-Anweisung:

Code: Alles auswählen

create table cd (cd_id int PRIMARY KEY, sort_id tinyint NOT NULL, title varchar(30), rec_method char(3), FOREIGN KEY (sort_id) REFERENCES sort );
Lautet der Fehler:

Code: Alles auswählen

ERROR 1215 (HY000): Cannot add foreign key constraint
Hierzu habe das hier gefunden http://stackoverflow.com/questions/1601 ... 5-in-mysql komme damit aber nicht weiter...

Habt ihr noch eine Idee? So schwer kann es doch nicht sein... sind doch nur 3 Zeilen Code und ich verzweifle schon....DANKE für eure Geduld
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: MySQL Fehler Error Code

Beitrag von debianix » 22.09.2013 17:26:33

Also es liegt wohl eindeutig an falscher Syntax meinerseits... denn folgendes geht auch nicht:

Code: Alles auswählen

mysql> create table records(
    -> cd_id int primary key,
    -> artist_id int not null,
    -> date year,
    -> foreign key (artist_id) references artist);
ERROR 1215 (HY000): Cannot add foreign key constraint
mysql> 
Ach wie ich solche Leernunterlagen liebe :evil:
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

debianix
Beiträge: 172
Registriert: 01.02.2012 20:24:02

Re: MySQL Fehler Error Code

Beitrag von debianix » 22.09.2013 20:08:48

So... jetzt aber :D - hier die Lösung:

Code: Alles auswählen

mysql> create table cd (cd_id int PRIMARY KEY, sort_id tinyint NOT NULL, title varchar(30), rec_method char(3), FOREIGN KEY (sort_id) references sort (sort_id));
Query OK, 0 rows affected (0,05 sec)
Danke für eure Hilfe :THX:
http://linuxundich.de/ - Blog über Ubuntu, Linux, Android und IT
http://www.321linux.com/ - Dein Linux Blog. Tipps, Tricks und News zu Linux.
http://www.wissensmanufaktur.net/ - Wirtschaftsforschung und Gesellschaftspolitik.

Antworten