Domanda

Quando eseguo la query di sotto di essa genera un errore,

alter table `ttis`.`users` 
add constraint `FK_Role_ID` FOREIGN KEY (`ROLE_ID`) REFERENCES `roles` (`ROLE_ID`)

Errore:

Error Code : 1005
Can't create table 'ttis.#sql-9c_8a' (errno: 150)
È stato utile?

Soluzione

Date un'occhiata a questo post: 13.6.4.4. I vincoli FOREIGN KEY e la ricerca di "150". Qui si dice:

  

Se si ricreare un tavolo che era   cade, si deve avere una definizione   conforme al chiave esterna   vincoli riferimento di esso. si deve   avere i nomi delle colonne ei tipi di destra,   e deve avere indici sulla   chiavi di riferimento, come affermato in precedenza. Se   questi non sono soddisfatti, i rendimenti MySQL   numero di errore 1005, si riferisce all'errore   150 nel messaggio di errore.

     

Se MySQL riporta un numero di errore 1005   da un'istruzione CREATE TABLE, e la   messaggio di errore si riferisce all'errore 150,   creazione della tabella non è riuscita perché un   vincolo di chiave esterna non era   correttamente formati. Analogamente, se un   ALTER TABLE fallisce e si riferisce alla   l'errore 150, che significa una chiave esterna   definizione sarebbe formato errato   per la tabella alterata. Puoi usare   MOSTRA motore InnoDB stato per visualizzare un   spiegazione dettagliata dei più   recente InnoDB errore di chiave esterna nella   server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top