我尝试在本地SQL数据库中创建一个表。我遵循了一个教程,最后出现语法错误。我检查了几个类似的stackoverflow线程,解决方案是删除保留字...但是在我的代码中,我也找不到保留字。
我的代码哪里出问题了?
create table teams (
team_id int(11) not null PRIMARY KEY AUTO_INCREMENT,
name varchar() not null,
logo varchar() not null,
founded int(4) not null,
venue_capacity int(6) not null,
squad_value int(5) not null,
total_national_trophies int(3) not null
);
错误消息:
#1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei ') not null,
logo varchar() not null,
founded int(4) not null,
ven' in Zeile 3
答案 0 :(得分:1)
您需要为VARCHAR
列指定大小,例如VARCHAR(255)
。
大小表示可以插入到列中的最大字符数(不是字节)。
重写后的语句可能如下所示:
CREATE TABLE teams (
team_id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
logo VARCHAR(255) NOT NULL,
founded INT(4) NOT NULL,
venue_capacity INT(6) NOT NULL,
squad_value INT(5) NOT NULL,
total_national_trophies INT(3) NOT NULL
);
*我更喜欢大写我的SQL关键字。这只是一个偏好问题,在执行上绝对没有区别。
答案 1 :(得分:0)
您的查询应为:
create table teams (
team_id int(11) not null PRIMARY KEY AUTO_INCREMENT,
name varchar(255) not null,
logo varchar(255) not null,
founded int(4) not null,
venue_capacity int(6) not null,
squad_value int(5) not null,
total_national_trophies int(3) not null
)
added varchar(255)