我在这里忘记了...我是一个SQL初学者......但我不能为我的生活看到我的陈述有什么问题:
CREATE TABLE usage
(id BIGINT AUTO_INCREMENT
, use_date datetime
, ctn VARCHAR(255)
, destination VARCHAR(255)
, cost_type BIGINT
, cost BIGINT
, up_data bigint
, down_data bigint
, INDEX cost_type_idx (cost_type)
, PRIMARY KEY(id) ) ENGINE = INNODB;
以下是MySQL(版本5.5.8)
引发的错误SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在'usage(id BIGINT AUTO_INCREMENT,use_date datetime,ctn VARCHAR(255),destinatio'第1行附近使用正确的语法。失败的查询:“CREATE TABLE用法(id BIGINT AUTO_INCREMENT ,use_date datetime,ctn VARCHAR(255),destination VARCHAR(255),cost_type BIGINT,cost BIGINT,up_data bigint,down_data bigint,INDEX cost_type_idx(cost_type),PRIMARY KEY(id))ENGINE = INNODB“。失败的查询:CREATE TABLE用法(id BIGINT AUTO_INCREMENT,use_date datetime,ctn VARCHAR(255),destination VARCHAR(255),cost_type BIGINT,cost BIGINT,up_data bigint,down_data bigint,INDEX cost_type_idx(cost_type),PRIMARY KEY(id))ENGINE = INNODB
它说near
然后给了我大约30个字符!
我尝试过不同的列名,以防我使用关键字。我尝试了不同的数据类型 - 仍然没有运气!
我敢肯定,很明显为什么它不适合那些没有撕掉头发10分钟的人 - 有人请我摆脱我的痛苦!
答案 0 :(得分:3)
出现该错误是因为USAGE
是mysql中的保留字。
有关保留字的列表,请参阅:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html。
此外,虽然它确实为您提供了很大一部分查询,但它是最重要的第一部分......它说near 'usage
因此通常会出现问题。