Thread [PHP] NULL = 0 != null ??? (34 answers)
Opened by FlorianL at 2007-10-05 14:17

FlorianL
 2007-10-09 10:53
#100534 #100534
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
Morgen zusammen :)

Ich habs gerade mal ausprobiert, bekomme nun aber beim alter table statement nen fehler raus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
mysql> create database teammeeting;
Query OK, 1 row affected (0.00 sec)

mysql> use teammeeting;
Database changed
mysql> create table meetings
-> (
-> ID INT AUTO_INCREMENT PRIMARY KEY,
-> `author` VARCHAR(64),
-> `startzeit` VARCHAR(64),
-> `endzeit` VARCHAR(64),
-> `thema` TEXT,
-> `aktion` VARCHAR(1),
-> `bearbeitung` VARCHAR(64),
-> `termin` VARCHAR(64),
-> `erstellung` VARCHAR(10)
-> )
-> TYPE=INNODB
-> ;
Query OK, 0 rows affected (0.03 sec)

mysql>
mysql> CREATE TABLE `teilnehmer`
-> (
-> `id` int(11) AUTO_INCREMENT NOT NULL,
-> `vorname` varchar(50) NULL,
-> `nachname` varchar(50) NULL,
-> PRIMARY KEY(`id`)
-> )
-> TYPE=INNODB
-> ;
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> CREATE TABLE `meeting_teilnehmer`
-> (
-> `meeting_id` int(11) NOT NULL,
-> `teilnehmer_id` int(11) NOT NULL
-> )
-> TYPE=INNODB
-> ;
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> ALTER TABLE `meeting_teilnehmer`
-> ADD CONSTRAINT `recipient_id`
-> FOREIGN KEY(`meeting_id`, `teilnehmer_id`)
-> REFERENCES `teilnehmer`(`id`, `id`);
ERROR 1005: Can't create table './teammeeting/#sql-a507e_2e.frm' (errno: 150)
mysql>
mysql> ALTER TABLE `meeting_teilnehmer`
-> ADD CONSTRAINT `meeting_id`
-> FOREIGN KEY(`meeting_id`, `teilnehmer_id`)
-> REFERENCES `meetings`(`id`, `id`);
ERROR 1005: Can't create table './teammeeting/#sql-a507e_2e.frm' (errno: 150)
mysql>


Ok, im Manual nach 1005 gesucht, ergibt:

If MySQL reports an error number 1005 from a CREATE TABLE statement, and the error message string refers to errno 150, this means that the table creation failed because a foreign key constraint was not correctly formed.

Also ist mein Foreign Key schlecht geformt. Aha.
Weiter sagt das Manual:

The syntax of a foreign key constraint definition in InnoDB looks like this:

[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]

Ich bin gerad noch zu matschig im kopf, wenn ich das mal richtig ans laufen bekommen hab meld ich mich nochma ^^

View full thread [PHP] NULL = 0 != null ???