Oppure

Loading
19/12/10 16:57
giocala88
Salve ragazzi ho un piccolo problema con la creazione di una tabella.
Ho la seguente tabella, denominata 'partite':

+------------+-------------+------+-----+------------+----------------+
| Field      | Type        | Null | Key | Default    | Extra          |
+------------+-------------+------+-----+------------+----------------+
| id_partita | int(10)     | NO   | UNI | NULL       | auto_increment |
| sq_casa    | varchar(30) | NO   | PRI |            |                |
| sq_ospite  | varchar(30) | NO   | PRI |            |                |
| data       | date        | NO   |     | 0000-00-00 |                |
+------------+-------------+------+-----+------------+----------------+


Nella creazione di una seconda tabella 'giornate' io dovrei importare la chiave data della tabella partite, ma non me la fa creare. Infatti

mysql> CREATE TABLE giornate (
    -> numero smallint(2) NOT NULL default '0',
    -> data_p date NOT NULL default '0000-00-00',
    -> INDEX par_ind(data_p),
    -> FOREIGN KEY(data_p) REFERENCES partite(data)
    -> ) ENGINE=INNODB;
ERROR 1005 (HY000): Can't create table 'totonero.giornate' (errno: 150)


Dove sbaglio? Grazie a tutti anticipatamente.

aaa
24/12/10 14:08
K.Mitnick
"If MySQL reports an error number 1005 from a CREATE TABLE statement, and the error message refers to error 150, table creation failed because a foreign key constraint was not correctly formed"

La data non identifica un singolo record all'interno della tabella partite(non è né primary key né unique key), motivo per cui non può essere usata...

Al suo posto puoi benissimo usare partite.id_partita... (altrimenti che ci starebbe a fare? ;) )
aaa