MySQL 表创建失败 - 我收到错误 #1005
我创建了一个电子商务数据库。
我做错了一件事,我不知道为什么......显然我的一张表(succursaleProduit)无法创建。
错误--> #1005 - 无法创建表“ordidepot.succursaleproduit”(errno: 150)
这是我的 SQL 文件的内容:
CREATE TABLE Adresse
(
idAdresse INT(10) AUTO_INCREMENT NOT NULL,
rue VARCHAR(30),
ville VARCHAR(30),
codePostal VARCHAR(7),
civic INT(10),
app VARCHAR(10),
CONSTRAINT Adresse_idAdresse_PK PRIMARY KEY (idAdresse)
);
CREATE TABLE Client(
idClient INT(10) AUTO_INCREMENT NOT NULL,
idAdresse INT(10),
nom VARCHAR(50),
prenom VARCHAR(50),
email VARCHAR(50),
telephone VARCHAR(50),
cellullaire VARCHAR(50),
motDePasse VARCHAR(50),
Constraint Client_idClient_PK Primary Key(idClient),
Constraint Client_idAdresse Foreign Key(idAdresse) references Adresse(idAdresse)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Sucursale(
idSucursale INT(10) AUTO_INCREMENT NOT NULL,
idAdresse INT(10),
nom VARCHAR(50),
email VARCHAR(50),
telephone VARCHAR(50),
cellullaire VARCHAR(50),
Constraint Sucursale_idSucursale_PK Primary Key(idSucursale),
Constraint Sucursale_idAdresse Foreign Key(idAdresse) references Adresse(idAdresse)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Panier(
idPanier INT(10) AUTO_INCREMENT NOT NULL,
idClient INT(10),
Constraint Panier_idPanier_PK Primary Key(idPanier),
Constraint Panier_idClient Foreign Key(idClient) references Client(idClient)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Produit(
idProduit INT(10) AUTO_INCREMENT NOT NULL,
nomProduit VARCHAR(50),
description VARCHAR(100),
nomFournisseur VARCHAR(50),
prixRevient INT(10),
prixVente INT(10),
nomFichierImage VARCHAR(50),
Constraint Produit_idProduit_PK Primary Key(idProduit)
);
CREATE TABLE Rabais(
idRabais INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
pourcentage INT(10),
dateDebut Date,
dateFin Date,
Constraint Rabais_idRabais_PK Primary Key(idRabais),
Constraint Rabais_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Systeme(
idSysteme INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
Constraint Systeme_idSysteme_PK Primary Key(idSysteme),
Constraint Systeme_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Jeux(
idJeux INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
typeJeux VARCHAR(50),
Constraint Jeux_idJeux_PK Primary Key(idJeux),
Constraint Jeux_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Pieces(
idPieces INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
categorie VARCHAR(50),
Constraint Pieces_idPieces_PK Primary Key(idPieces),
Constraint Pieces_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SystemeComplet(
idSystemeComplet INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
quantite INT(10),
Constraint SystemeComplet_idSystemeComplet_PK Primary Key(idSystemeComplet),
Constraint SystemeComplet_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE ProgUtilitaire(
idProgUtilitaire INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
version VARCHAR(50),
Constraint ProgUtilitaire_idProgUtilitaire_PK Primary Key(idProgUtilitaire),
Constraint ProgUtilitaire_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE ClientAdresse
(
idClient INT(10),
idAdresse INT(10),
Constraint ClientAdresse_idClient_FK Foreign Key(idClient) References Client(idClient)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint ClientAdresse_idAdresse_FK Foreign Key(idAdresse) References Adresse(idAdresse)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SuccursaleProduit
(
idSuccursale INT(10),
idProduit INT(10),
quantite INT(10),
Constraint SuccursaleProduit_idSuccursale_FK Foreign Key(idSuccursale) References Succursale(idSuccursale)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint SuccursaleProduit_idProduit_FK Foreign Key(idProduit) References Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SCProgU
(
idProgUtilitaire INT(10),
idSystemeComplet INT(10),
Constraint SCProgU_idProgUtilitaire_FK Foreign Key(idProgUtilitaire) References ProgUtilitaire(idProgUtilitaire)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint SCProgU_idSystemeComplet_FK Foreign Key(idSystemeComplet) References SystemeComplet(idSystemeComplet)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SCPieces
(
idPieces INT(10),
idSystemeComplet INT(10),
Constraint SCPieces_idPieces_FK Foreign Key(idPieces) References Pieces(idPieces)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint SCPieces_idSystemeComplet_FK Foreign Key(idSystemeComplet) References SystemeComplet(idSystemeComplet)
ON DELETE CASCADE ON UPDATE CASCADE
);
INSERT INTO Adresse (rue, ville, codePostal, civic, app) VALUES
('asdf', 'montreal', 'H2A7J9', 1245, '1'),
('qwe', 'montreal', 'K2A2L9', 15, '5');
INSERT INTO Sucursale (idAdresse, nom, email, telephone, cellullaire) VALUES
(1, 'DADA', '[email protected]', '5145489632', '5145245685');
INSERT INTO Sucursale (idAdresse, nom, email, telephone, cellullaire) VALUES
(2, 'DADA', '[email protected]', '5145489632', '5145245685');
INSERT INTO Produit(nomProduit,description,nomFournisseur,prixRevient,prixVente,nomFichierImage) VALUES ('PC DE BUREAU','pc de choix','COMPAQ',300,250,'');
INSERT INTO Produit(nomProduit,description,nomFournisseur,prixRevient,prixVente,nomFichierImage) VALUES ('LAPTOP','LAPTOP de choix','HP',300,250,'');
INSERT INTO Pieces(idProduit,categorie) VALUES(1,'ordinateur');
INSERT INTO Pieces(idProduit,categorie) VALUES(2,'ordinateur portable');
I create a database for E-commerce.
I have one thing doing it wrong and I don't know why ... apparently one of my tables (succursaleProduit) cannot be created.
Error --> #1005 - Can't create table 'ordidepot.succursaleproduit' (errno: 150)
Here's the content of my SQL files:
CREATE TABLE Adresse
(
idAdresse INT(10) AUTO_INCREMENT NOT NULL,
rue VARCHAR(30),
ville VARCHAR(30),
codePostal VARCHAR(7),
civic INT(10),
app VARCHAR(10),
CONSTRAINT Adresse_idAdresse_PK PRIMARY KEY (idAdresse)
);
CREATE TABLE Client(
idClient INT(10) AUTO_INCREMENT NOT NULL,
idAdresse INT(10),
nom VARCHAR(50),
prenom VARCHAR(50),
email VARCHAR(50),
telephone VARCHAR(50),
cellullaire VARCHAR(50),
motDePasse VARCHAR(50),
Constraint Client_idClient_PK Primary Key(idClient),
Constraint Client_idAdresse Foreign Key(idAdresse) references Adresse(idAdresse)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Sucursale(
idSucursale INT(10) AUTO_INCREMENT NOT NULL,
idAdresse INT(10),
nom VARCHAR(50),
email VARCHAR(50),
telephone VARCHAR(50),
cellullaire VARCHAR(50),
Constraint Sucursale_idSucursale_PK Primary Key(idSucursale),
Constraint Sucursale_idAdresse Foreign Key(idAdresse) references Adresse(idAdresse)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Panier(
idPanier INT(10) AUTO_INCREMENT NOT NULL,
idClient INT(10),
Constraint Panier_idPanier_PK Primary Key(idPanier),
Constraint Panier_idClient Foreign Key(idClient) references Client(idClient)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Produit(
idProduit INT(10) AUTO_INCREMENT NOT NULL,
nomProduit VARCHAR(50),
description VARCHAR(100),
nomFournisseur VARCHAR(50),
prixRevient INT(10),
prixVente INT(10),
nomFichierImage VARCHAR(50),
Constraint Produit_idProduit_PK Primary Key(idProduit)
);
CREATE TABLE Rabais(
idRabais INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
pourcentage INT(10),
dateDebut Date,
dateFin Date,
Constraint Rabais_idRabais_PK Primary Key(idRabais),
Constraint Rabais_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Systeme(
idSysteme INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
Constraint Systeme_idSysteme_PK Primary Key(idSysteme),
Constraint Systeme_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Jeux(
idJeux INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
typeJeux VARCHAR(50),
Constraint Jeux_idJeux_PK Primary Key(idJeux),
Constraint Jeux_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Pieces(
idPieces INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
categorie VARCHAR(50),
Constraint Pieces_idPieces_PK Primary Key(idPieces),
Constraint Pieces_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SystemeComplet(
idSystemeComplet INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
quantite INT(10),
Constraint SystemeComplet_idSystemeComplet_PK Primary Key(idSystemeComplet),
Constraint SystemeComplet_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE ProgUtilitaire(
idProgUtilitaire INT(10) AUTO_INCREMENT NOT NULL,
idProduit INT(10),
version VARCHAR(50),
Constraint ProgUtilitaire_idProgUtilitaire_PK Primary Key(idProgUtilitaire),
Constraint ProgUtilitaire_idProduit Foreign Key(idProduit) references Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE ClientAdresse
(
idClient INT(10),
idAdresse INT(10),
Constraint ClientAdresse_idClient_FK Foreign Key(idClient) References Client(idClient)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint ClientAdresse_idAdresse_FK Foreign Key(idAdresse) References Adresse(idAdresse)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SuccursaleProduit
(
idSuccursale INT(10),
idProduit INT(10),
quantite INT(10),
Constraint SuccursaleProduit_idSuccursale_FK Foreign Key(idSuccursale) References Succursale(idSuccursale)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint SuccursaleProduit_idProduit_FK Foreign Key(idProduit) References Produit(idProduit)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SCProgU
(
idProgUtilitaire INT(10),
idSystemeComplet INT(10),
Constraint SCProgU_idProgUtilitaire_FK Foreign Key(idProgUtilitaire) References ProgUtilitaire(idProgUtilitaire)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint SCProgU_idSystemeComplet_FK Foreign Key(idSystemeComplet) References SystemeComplet(idSystemeComplet)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SCPieces
(
idPieces INT(10),
idSystemeComplet INT(10),
Constraint SCPieces_idPieces_FK Foreign Key(idPieces) References Pieces(idPieces)
ON DELETE CASCADE ON UPDATE CASCADE,
Constraint SCPieces_idSystemeComplet_FK Foreign Key(idSystemeComplet) References SystemeComplet(idSystemeComplet)
ON DELETE CASCADE ON UPDATE CASCADE
);
INSERT INTO Adresse (rue, ville, codePostal, civic, app) VALUES
('asdf', 'montreal', 'H2A7J9', 1245, '1'),
('qwe', 'montreal', 'K2A2L9', 15, '5');
INSERT INTO Sucursale (idAdresse, nom, email, telephone, cellullaire) VALUES
(1, 'DADA', '[email protected]', '5145489632', '5145245685');
INSERT INTO Sucursale (idAdresse, nom, email, telephone, cellullaire) VALUES
(2, 'DADA', '[email protected]', '5145489632', '5145245685');
INSERT INTO Produit(nomProduit,description,nomFournisseur,prixRevient,prixVente,nomFichierImage) VALUES ('PC DE BUREAU','pc de choix','COMPAQ',300,250,'');
INSERT INTO Produit(nomProduit,description,nomFournisseur,prixRevient,prixVente,nomFichierImage) VALUES ('LAPTOP','LAPTOP de choix','HP',300,250,'');
INSERT INTO Pieces(idProduit,categorie) VALUES(1,'ordinateur');
INSERT INTO Pieces(idProduit,categorie) VALUES(2,'ordinateur portable');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看来这是 MySQL 5.5 中的一个特定问题。我的 5.1 版本似乎没有发生这种情况。尝试降级看看是否有帮助。
It appears that this is a specific issue in MySQL 5.5. It does not appear to happen with my version 5.1. Try downgrading to see if that helps.