【问题标题】:Primary and Foreign Keys being same MySQL shows exception主键和外键相同 MySQL 显示异常
【发布时间】:2015-06-17 20:51:30
【问题描述】:

执行以下代码行时会抛出错误。

CREATE TABLE USERS (
USERNAME VARCHAR(10) NOT NULL,
PASSWORD VARCHAR(32) NOT NULL,
ENABLED SMALLINT,
PRIMARY KEY (USERNAME)
);

CREATE TABLE AUTHORITIES (
USERNAME VARCHAR(10) NOT NULL,
AUTHORITY VARCHAR(10) NOT NULL,
FOREIGN KEY (USERNAME) REFERENCES USERS
);

我得到的例外是:

1215 无法创建外键约束

外键和主键足够相同会引发错误。

请帮忙

【问题讨论】:

    标签: mysql sql-server database postgresql mysql-workbench


    【解决方案1】:

    是否使参考更具体的工作:

    CREATE TABLE AUTHORITIES (
    USERNAME VARCHAR(10) NOT NULL,
    AUTHORITY VARCHAR(10) NOT NULL,
    FOREIGN KEY (USERNAME) REFERENCES USERS(USERNAME)
    );
    

    这里的文档(http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html) 的格式似乎是table(column)

    【讨论】:

    • 那是个好消息,一开始我看到字段名USERNAME和表名USERS时,我以为它们可能是保留字,但它们不在dev.mysql的保留字列表中。 com网站。您介意将此标记为答案吗?
    猜你喜欢
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2012-02-09
    相关资源
    最近更新 更多