Auto_increment阻止脚本创建表

时间:2012-03-02 02:50:37

标签: php mysql sql

我的服务器在linux centOS上运行的hostgator上。

我只是想在我的数据库中创建一个表,我想出了如何让表创建。虽然当我添加AUTO_INCREMENT设置时,代码不会执行并且不会创建表。

为什么会这样,我该如何纠正呢?

这是我的代码:

$members2_table = "CREATE TABLE ninja08_codin.members2(
        id INT NOT NULL AUTO_INCREMENT,
        first_name VARCHAR(40),
        last_name VARCHAR(40) NOT NULL,
        email VARCHAR(64) NOT NULL,
        date_joined TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
        cred VARCHAR(10) NOT NULL)";

2 个答案:

答案 0 :(得分:2)

要使用AUTO_INCREMENT,您可能必须将列指定为主键:

$members2_table = "CREATE TABLE ninja08_codin.members2(
        id INT NOT NULL AUTO_INCREMENT,
        first_name VARCHAR(40),
        last_name VARCHAR(40) NOT NULL,
        email VARCHAR(64) NOT NULL,
        date_joined TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
        cred VARCHAR(10) NOT NULL,
        PRIMARY KEY (id))";

答案 1 :(得分:1)

您的查询会出错

there can be only one auto column and it must be defines as a key, so add primary key to id field

    $members2_table = "CREATE TABLE ninja08_codin.members2(
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(40),
    last_name VARCHAR(40) NOT NULL,
    email VARCHAR(64) NOT NULL,
    date_joined TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    cred VARCHAR(10) NOT NULL)";