MySQL代码的问题?

时间:2012-02-09 21:55:29

标签: mysql primary-key create-table

我在PRIMARY KEY附近遇到错误,但无法确定究竟是什么,有人可以看看吗?

CREATE TABLE `reports` (

    `key`                   INT UNSIGNED AUTO_INCREMENT, 
    `role`                  VARCHAR(70), 
    `region`                VARCHAR(70),
    `inspection_type`       VARCHAR(70),
    `inspection_number`     VARCHAR(70),
    `customer_number`       VARCHAR(70),

    `report_date`           DATE DEFAULT NULL,  



    `order_date`            DATE DEFAULT NULL,  


    `customer`              VARCHAR(70),
    `customer_division`     VARCHAR(70),
    `location`              VARCHAR(70),
    `memo`                  VARCHAR(255),       
    `billingkey`            VARCHAR(70),

    PRIMARY KEY(key)

) ENGINE=InnoDB DEFAULT CHARSET=UTF8;

3 个答案:

答案 0 :(得分:6)

key括在反引号中。这是一个MySQL reserved keyword.

PRIMARY KEY(`key`)

答案 1 :(得分:2)

key是保留字。从技术上讲,你必须这样做:

PRIMARY KEY(`key`)

要使用它,但不要调用主键key

答案 2 :(得分:0)

你需要转义单词key,它是一个保留的关键字:

.
.
.     
PRIMARY KEY(`key`)

) ENGINE=InnoDB DEFAULT CHARSET=UTF8;