2013-02-13 55 views
0

什麼是用下面的SQL語句的問題:爲什麼我的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);

,我也得到:

錯誤1064(42000):你在你的SQL語法錯誤;檢查 手冊,對應於您的MySQL服務器版本的右邊 語法使用附近'numberic(4)不爲null,不使用步行varchar(5)l,singles varchar(7)not null,

+0

'numberic'不是數據類型。 – 2013-02-13 18:55:51

回答

2

您的SQL兩個錯誤:

  1. 命中數字小(4)不爲null =>數字小是不是有效的數據鍵入

  2. 雙打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

+0

該表中的關鍵是什麼? – Cratylus 2013-02-13 18:57:58

+0

實際上沒有爲表格定義的鍵。 – 2013-02-13 19:00:01

2

錯字#1

doubles varchar7) 

應該

doubles varchar(7) 

錯字#2

numberic 

應該是

numeric 
1

也許改變numbericnumeric

1

numeric拼錯作爲numberic;這可以防止MySQL將其作爲數據類型進行檢測,並且不知道如何繼續。你也忘了在雙打欄打開的括號:

doubles varchar(7)

相關問題