【问题标题】:mysql 1064 error on executionmysql 1064 执行错误
【发布时间】:2013-08-23 20:07:31
【问题描述】:

我有这张桌子:

mysql> CREATE TABLE favorite food
-> (person_id SMALLINT UNSIGNED,
->food VARCHAR(20),
->CONSTRAINT pk_favorite_food PRIMARY KEY (person_id, food),
->CONSTRAINT fk_fav_food_person_id FOREIGN KEY (person_id)
->REFERENCES person (person_id)
->);

执行后我收到错误 1064。任何人都知道可能出了什么问题吗?

MySQL 服务器 6.0

【问题讨论】:

标签: mysql-error-1064


【解决方案1】:

表名中不应有空格。使其类似于favorite_food

【讨论】:

    【解决方案2】:

    通过在 Google 上搜索一些可能的回复,我找到了 this thread on SO... 原始表格(与您的相同,但格式更好)是:

    CREATE TABLE favorite_food(
        person_id SMALLINT UNSIGNED,
        food VARCHAR(20),
        CONSTRAINT pk_favorite_food PRIMARY KEY(person_id,food),
        CONSTRAINT fk_fav_food_person_id FOREIGN KEY (person_id) REFERENCES person(person_id)
    );
    
    1. 您可能没有person 表,因此无法创建外键。 (见最后一行)
    2. 您已删除表名中的_favorite food 而不是favorite_food),这是不允许的。

    【讨论】:

    • 我已经创建了“person”表,所以问题可能是表名中的“空白”。
    猜你喜欢
    • 2015-01-26
    • 2011-02-11
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 2011-04-17
    • 2014-02-20
    • 1970-01-01
    相关资源
    最近更新 更多