【问题标题】:I am unable to create a table in MySQL (Error 1005)我无法在 MySQL 中创建表(错误 1005)
【发布时间】:2013-03-30 23:44:17
【问题描述】:

我正在尝试创建一个表 users,但是在使用 MySQL Workbench 和 PHPMyAdmin 运行查询时出现错误“无法创建表”。我似乎在它说的地方收到错误:

存储 VARCHAR(5),

CREATE TABLE store
(
    id          INT                 NOT NULL    AUTO_INCREMENT,
    short_name  VARCHAR(5)                      NOT NULL,
    name        VARCHAR(30)                     NOT NULL,
    address1    VARCHAR(50)                     NOT NULL,
    address2    VARCHAR(20),
    city        VARCHAR(30)                     NOT NULL,
    state       VARCHAR(30)                     NOT NULL,
    zip         VARCHAR(10)                     NOT NULL,
    phone       VARCHAR(15)                     NOT NULL,
    CONSTRAINT store_pk PRIMARY KEY (id)
);

CREATE TABLE users
(
    id          INT                     NOT NULL    AUTO_INCREMENT,
    fname       VARCHAR(35)                     NOT NULL,
    lname       VARCHAR(35)                     NOT NULL,
    password    VARCHAR(60),        
    address1    VARCHAR(50)                     NOT NULL,
    address2    VARCHAR(20),
    city        VARCHAR(30)                     NOT NULL,
    state       VARCHAR(30)                     NOT NULL,
    zip         VARCHAR(10)                     NOT NULL,
    phone       VARCHAR(15),
    email       VARCHAR(90),
    store       VARCHAR(5),
    admin       TINYINT             DEFAULT 0   NOT NULL,
    mail_list   TINYINT             DEFAULT 0   NOT NULL,
    active      TINYINT             DEFAULT 0   NOT NULL,
    CONSTRAINT users_pk PRIMARY KEY (id),
    CONSTRAINT users_fk FOREIGN KEY (store)
        REFERENCES store (short_name)
        ON DELETE   SET NULL
        ON UPDATE   CASCADE
);

store 表添加成功。只有当我尝试创建 users 表时才会出现错误。

【问题讨论】:

  • 确切的错误信息是什么?

标签: mysql phpmyadmin mysql-workbench


【解决方案1】:

外键引用的列需要建立索引。所以你需要在store.short_name 上添加一个索引,以允许它在users_fk 外键中被引用。

【讨论】:

    猜你喜欢
    • 2012-10-15
    • 1970-01-01
    • 2013-07-22
    • 2016-02-11
    • 2019-06-14
    • 2020-04-10
    • 1970-01-01
    • 2010-11-03
    • 2016-07-26
    相关资源
    最近更新 更多