0

以下 SQL 语句有什么问题:

create table teamstats (name varchar(10) not null,pos varchar(3) not null,ab numeric(3) not null,hits numberic(4) not null,walks varchar(5) not null,singles varchar(7) not null,doubles varchar7) not null,triples varchar(7) not null,hr numeric(2) not null,so varchar(2) not null);

我得到:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'numberic(4) not null,walks varchar(5) not nul l,singles varchar(7) not null,doubl' 附近使用正确的语法

4

4 回答 4

2

您的 SQL 中有两个错误:

  1. hits numberic(4) not null => numberic 不是有效的数据类型

  2. doubles varchar7) not null => 你忘了在 varchar 中打开括号

这是正确的语法:

create table teamstats
(
    name varchar(10) not null,
    pos varchar(3) not null,
    ab numeric(3) not null,
    hits numeric(4) not null,
    walks varchar(5) not null,
    singles varchar(7) not null,
    doubles varchar(7) not null,
    triples varchar(7) not null,
    hr numeric(2) not null,
    so varchar(2) not null
);

这是 SQL 小提琴:http ://sqlfiddle.com/#!2/261351

于 2013-02-13T18:56:51.217 回答
2

错字#1

 doubles varchar7)

应该

 doubles varchar(7)

错字#2

numberic

应该

numeric
于 2013-02-13T18:55:39.110 回答
1

也许numberic改成numeric

于 2013-02-13T18:55:59.867 回答
1

numeric拼写错误为numberic; 这会阻止 MySQL 将其检测为数据类型,并且它不知道如何进行。您还忘记了双打列中的左括号:

doubles varchar(7)

于 2013-02-13T18:56:22.680 回答