我的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)
)
答案 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小提琴。