Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Create table errno 150

  1. #1

    Create table errno 150

    Ciao a tutti sto eseguendo la seguente query e mi segnala l'errore indicato "errno 150" ma non capisco dove sbaglio.

    codice:
    create table dw_modules_users(
    id INT NOT NULL AUTO_INCREMENT,
    idUser INT,
    idModules INT,
    PRIMARY KEY (id),
    FOREIGN KEY (idUser) REFERENCES dw_utenti(id) on delete cascade ON UPDATE cascade,
    FOREIGN KEY (idModules) REFERENCES dw_modules(id) on delete cascade ON UPDATE cascade)engine=InnoDB;
    i campi id nelle tabelle dw_utenti e dw_modules sono presenti e sono entrambe innoDb dove sto sbagliando?

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Create table errno 150

    Originariamente inviato da simone.marchese
    Ciao a tutti sto eseguendo la seguente query e mi segnala l'errore indicato "errno 150" ma non capisco dove sbaglio.

    codice:
    create table dw_modules_users(
    id INT NOT NULL AUTO_INCREMENT,
    idUser INT,
    idModules INT,
    PRIMARY KEY (id),
    FOREIGN KEY (idUser) REFERENCES dw_utenti(id) on delete cascade ON UPDATE cascade,
    FOREIGN KEY (idModules) REFERENCES dw_modules(id) on delete cascade ON UPDATE cascade)engine=InnoDB;
    i campi id nelle tabelle dw_utenti e dw_modules sono presenti e sono entrambe innoDb dove sto sbagliando?
    L'errore è infame perché non ti aiuta nella descrizione:
    In ogni caso - questo errore si verifica se:
    le chiavi esterne che stai settando non sono conformi alle chiavi delle tabelle padre, e cercando qua e la ho letto che se usi una versione vecchia di MySql quando definisci le chiavi esterne devi esplicitare anche un indice per le stesse

    Vedi qui

    Personalmente questo errore l'ho avuto agli inizi quando non avevo fatto a caso a settare correttamente le collation dei campi id (io uso le guid, quindi un varchar(36)) dove alcuni campi li avevo impostati a UTF8 ed altri a latin1

  3. #3
    Grazie per la risposta alla fine ho tolto idModules e ho messo un'altro parametro e funzionava... mi sa che il problema era su quel campo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.