當我運行此操作時,出現錯誤:無法添加外鍵約束 任何人都可以幫助我嗎?謝謝錯誤:無法在CREATE TABLE上添加外鍵約束
CREATE SCHEMA `Rubik's_Cubes`;
USE `Rubik's_Cubes`;
/*Tabella Collezionista*/
CREATE TABLE Collezionista(
id INTEGER auto_increment PRIMARY KEY,
nome TEXT NOT NULL,
cognome TEXT NOT NULL,
telefono INTEGER NOT NULL,
ranking INTEGER NOT NULL UNIQUE,
id_ogg_pref INTEGER DEFAULT NULL,
FOREIGN KEY (id_ogg_pref) REFERENCES Oggetto(id)
ON DELETE SET NULL
ON UPDATE CASCADE
);
/*Tabella Possiede*/
CREATE TABLE Possiede(
id_collezionatore INTEGER NOT NULL,
id_oggetto INTEGER NOT NULL,
tempo_sol DOUBLE DEFAULT NULL,
FOREIGN KEY (id_collezionatore) REFERENCES Collezionista(id)
ON DELETE CASCADE
ON UPDATE NO ACTION,
FOREIGN KEY (id_oggetto) REFERENCES Oggetto(id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
/*Tabella Oggetto*/
CREATE TABLE Oggetto(
id INTEGER AUTO_INCREMENT PRIMARY KEY,
nome TEXT NOT NULL,
id_tipo INTEGER NOT NULL,
id_tipo2 INTEGER DEFAULT NULL,
valore DOUBLE NOT NULL,
descrizione TEXT NOT NULL,
detentore_record INTEGER DEFAULT NULL,
tempo_record DOUBLE DEFAULT NULL,
FOREIGN KEY (id_tipo) REFERENCES Tipologia(id)
ON DELETE NO ACTION
ON UPDATE CASCADE,
FOREIGN KEY (id_tipo2) REFERENCES Tipologia(id)
ON DELETE NO ACTION
ON UPDATE CASCADE,
FOREIGN KEY (detentore_record) REFERENCES Collezionista(id)
ON DELETE SET NULL
ON UPDATE CASCADE
);
/*Tabella Tipologia*/
CREATE TABLE Tipologia(
id INTEGER AUTO_INCREMENT PRIMARY KEY,
nome TEXT NOT NULL,
descrizione TEXT NOT NULL,
provenienza TEXT NOT NULL
);