 | |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
[MYSQL] Problemi con una tabella Clicca QUI per vedere il messaggio nel forum |
drakend |
Ciao,
provo a creare questa tabella dentro Mysql, ma ricevo un messaggio di errore:
code:
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:
code:
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? |
Flyzone |
Originally posted by drakend
Da che può dipendere questo problema?
Integrità referenziale, devi prima creare la tabella Società(con la chiave IdSocietà ) prima delle tabella Utenti. |
drakend |
Sì certo... a quello ci avevo già pensato, ma il problema rimane... |
Alf |
Originally posted by drakend
Sì certo... a quello ci avevo già pensato, ma il problema rimane...
Guarda qui magari e' lo stesso problema:
Lick Me |
drakend |
Originally posted by Alf
Guarda qui magari e' lo stesso problema:
Lick Me
Ciao,
il problema non era quello, ma mi ha messo sulla strada giusta. In poche parole dovevo creare un indice inclusivo di TUTTE le chiavi parziali utilizzate in una chiave esterna.
Grazie per l'aiuto! :) |
Alf |
Originally posted by drakend
Ciao,
il problema non era quello, ma mi ha messo sulla strada giusta. In poche parole dovevo creare un indice inclusivo di TUTTE le chiavi parziali utilizzate in una chiave esterna.
Grazie per l'aiuto! :)
Prego
:smokin: |
|
|
|
|