2015-11-03 39 views
2
CREATE TABLE test(ID_NO INT NOT NULL AUTO_INCREMENT, 
    Account varchar(20)NOT NULL, 
    Day DATE NOT NULL, 
    Customer BIGINT(20) NOT NULL, 
    Clicks INT(10) NOT NULL, 
    Impression INT(20) NOT NULL, 
    CTR FLOAT(10) NOT NULL, 
    Avg. CPC FLOAT(10) NOT NULL, 
    Cost FLOAT(10) NOT NULL, 
    Avg. position FLOAT(10) NOT NULL, 
    Converted clicks INT(10) NOT NULL, 
    Conversions INT(10) NOT NULL, 
    Conv. rate FLOAT(10) NOT NULL, 
    PRIMARY KEY(ID_NO) 
); 

ERROR 1103(42000):不正确的表名 '平均'错误在MySQL中创建表

+0

如何清除这个错误?任何人都可以帮我..... –

+1

Avg是一个保留字,因为它是一个函数的名字。用反引号将它括起来''。通过反引号还包含所有包含句号或空格的字段名称。 – Shadow

+1

[我如何转义用作列名的保留字? MySQL /创建表](http://stackoverflow.com/questions/2889871/how-do-i-escape-reserved-words-used-as-column-names-mysql-create-table) – diziaq

回答

1

请尝试以下查询:

CREATE TABLE test 
(ID_NO INT NOT NULL AUTO_INCREMENT, 
Account varchar(20)NOT NULL, 
Day DATE NOT NULL, 
Customer BIGINT(20) NOT NULL, 
Impression INT(20) NOT NULL, 
CTR FLOAT(10) NOT NULL, 
CPC FLOAT(10) NOT NULL, 
Cost FLOAT(10) NOT NULL, 
position FLOAT(10) NOT NULL, 
clicks INT(10) NOT NULL, 
Conversions INT(10) NOT NULL, 
rate FLOAT(10) NOT NULL, 
PRIMARY KEY(ID_NO)); 
+0

谢谢...其现在工作 –

+0

954-778-0978将这个数字输入到mysql中的数据类型是什么? –

+0

请使用“varchar”。 –

0
mysql> CREATE TABLE test(ID_NO INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
Account varchar(20)NOT NULL, 
Day DATE NOT NULL, 
Customer BIGINT(20) NOT NULL, 
Clicks INT(10) NOT NULL, 
Impression INT(20) NOT NULL, 
CTR FLOAT(10) NOT NULL, 
Avg_CPC FLOAT(10) NOT NULL, 
Cost FLOAT(10) NOT NULL, 
Avg_position FLOAT(10) NOT NULL, 
Converted clicks INT(10) NOT NULL, 
Conversions INT(10) NOT NULL, 
Conv_rate FLOAT(10) NOT NULL 
);        
+0

谢谢....现在它的工作.... –

0

没有与您的查询多重问题。

  • 不能使用的名字点(或标识符作为MySQL调用它们)
  • 在标识符
  • 这是更好地喜欢使用下划线的名称,并避免在标识符使用大写字母不能使用空格因为MySQL不区分大小写。

最后的代码来为:

CREATE TABLE test(
    id_no INT NOT NULL AUTO_INCREMENT, 
    account varchar(20)NOT NULL, 
    day DATE NOT NULL, 
    customer BIGINT(20) NOT NULL, 
    clicks INT(10) NOT NULL, 
    impression INT(20) NOT NULL, 
    ctr FLOAT(10) NOT NULL, 
    avg_cpc FLOAT(10) NOT NULL, # there was a dot in the name 
    cost FLOAT(10) NOT NULL, 
    avg_position FLOAT(10) NOT NULL, # there was a dot in the name 
    converted_clicks INT(10) NOT NULL, # there was an extra space 
    conversions INT(10) NOT NULL, 
    conv_rate FLOAT(10) NOT NULL, # there was a dot in the name 
    PRIMARY KEY(ID_NO) 
); 
+1

感谢....它的工作.... –

+0

954-778-0978什么是数据类型为这个数字输入到MySQL ? –

+0

@Raghulvijay如果你的意思是包含' - '(破折号)的数字,那么我认为唯一的是varchar或char – Musa