Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - problema con foreign key
Forum - Altri Linguaggi - problema con foreign key

Avatar
giocala88 (Normal User)
Expert


Messaggi: 248
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 17:57
Domenica, 19/12/2010
Salve ragazzi ho un piccolo problema con la creazione di una tabella.
Ho la seguente tabella, denominata 'partite':

Codice sorgente - presumibilmente Altri Linguaggi

  1. +------------+-------------+------+-----+------------+----------------+
  2. | Field      | Type        | Null | Key | Default    | Extra          |
  3. +------------+-------------+------+-----+------------+----------------+
  4. | id_partita | int(10)     | NO   | UNI | NULL       | auto_increment |
  5. | sq_casa    | varchar(30) | NO   | PRI |            |                |
  6. | sq_ospite  | varchar(30) | NO   | PRI |            |                |
  7. | data       | date        | NO   |     | 0000-00-00 |                |
  8. +------------+-------------+------+-----+------------+----------------+



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

Codice sorgente - presumibilmente Php

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



Dove sbaglio? Grazie a tutti anticipatamente.


PM
Avatar
K.Mitnick (Member)
Expert


Messaggi: 278
Iscritto: 24/03/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 15:08
Venerdì, 24/12/2010
"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? ;) )

PM