MySQL 表创建失败 - 我收到错误 #1005

发布于 2024-10-30 23:50:45 字数 7514 浏览 1 评论 0原文

我创建了一个电子商务数据库。

我做错了一件事,我不知道为什么......显然我的一张表(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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城已无爱 2024-11-06 23:50:45

看来这是 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文