Salve,
provo a creare questa tabella dentro Mysql, ma ricevo un messaggio di errore:
codice:
CREATE TABLE Utenti(
IdUtente BIGINT( 20 ) UNSIGNED AUTO_INCREMENT ,
Username CHAR( 250 ) NOT NULL ,
PASSWORD TEXT NOT NULL ,
Nome TEXT,
Cognome TEXT,
Proprietario enum( 'Sì', 'No' ) NOT NULL DEFAULT 'No',
Amministratore enum( 'Sì', 'No' ) NOT NULL DEFAULT 'No',
IdSocietà BIGINT( 20 ) UNSIGNED NOT NULL ,
IdSocietà1 BIGINT( 20 ) UNSIGNED,
NomeGruppo CHAR( 250 ) ,
PRIMARY KEY ( IdUtente ) ,
UNIQUE KEY ( Username ) ,
INDEX IdSocietàIndex( IdSocietà ) ,
INDEX IdSocietà1Index( IdSocietà1 ) ,
INDEX NomeGruppoIndex( NomeGruppo ) ,
FOREIGN KEY ( IdSocietà ) REFERENCES Società( IdSocietà ) ON DELETE CASCADE ON UPDATE CASCADE ,
FOREIGN KEY ( IdSocietà1, NomeGruppo ) REFERENCES Gruppi( IdSocietà, NomeGruppo ) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB
MySQL said:
#1005 - Impossibile creare la tabella '.\agenda\utenti.frm' (errno: 150)
Se tolgo le due FOREIGN KEY me la crea senza problemi. Tabelle invece come queste me le crea pure senza messaggi di errore:
codice:
CREATE TABLE Società (
IdSocietà BIGINT(20) UNSIGNED AUTO_INCREMENT,
RagioneSociale TEXT NOT NULL,
ScadenzaContratto DATE NOT NULL,
NumeroUtentiComprati INT UNSIGNED NOT NULL,
Descrizione TEXT NOT NULL,
PRIMARY KEY (IdSocietà),
) TYPE=INNODB;
CREATE TABLE Gruppi (
IdSocietà BIGINT(20) UNSIGNED,
NomeGruppo CHAR(250),
PRIMARY KEY (IdSocietà,NomeGruppo),
INDEX IdSocietàIndex (IdSocietà),
FOREIGN KEY (IdSocietà) REFERENCES Società(IdSocietà)
ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=INNODB;
Da che può dipendere questo problema?