我的SQL查询中的语法错误

时间:2017-12-10 18:19:30

标签: mysql sql syntax-error

我的SQL查询中有语法错误,出了什么问题?

这是查询:

    CREATE TABLE post_cat(
    cat_id int(2) AUTO_INCREMENT NOT null PRIMARY key,
    cat_text varchar(255),
    post_cat varchar,
    FOREIGN KEY (post_cat) REFERENCES post(post_cat)
    )

2 个答案:

答案 0 :(得分:3)

所有varchars都需要长度规范。

CREATE TABLE post_cat(
cat_id int(2) AUTO_INCREMENT NOT null PRIMARY key,
cat_text varchar(255),
post_cat varchar(1000),
FOREIGN KEY (post_cat) REFERENCES post(post_cat)
);

答案 1 :(得分:2)

您需要varchar的长度:

CREATE TABLE post_cat (
    cat_id int(2) AUTO_INCREMENT NOT null PRIMARY key,
    cat_text varchar(255),
    post_cat varchar(255),
    FOREIGN KEY (post_cat) REFERENCES post(post_cat)
);

长度应与post表中的定义相匹配。

Here是一个显示表创建的SQL小提琴。