表定义不正确;只能有一个自动列,必须将其定义为关键Codeigniter

时间:2016-05-01 20:44:24

标签: php codeigniter mysqli

我想在模型中创建一个方法来处理数据库创建。但是,当我运行它时,它说

  

表定义不正确;只有一个自动列和它   必须定义为键

private function create_users_table()
{
    $this->load->dbforge();
    $this->dbforge->add_field('id INT(11) NOT NULL AUTO_INCREMENT');
    $this->dbforge->add_field('email VARCHAR(200) NOT NULL');
    $this->dbforge->add_field('password VARCHAR(200) NOT NULL');
    $this->dbforge->add_field('created DATETIME NOT NULL');
    $this->dbforge->add_field('last_login DATETIME NOT NULL');
    $this->dbforge->add_key('id',TRUE);
    $this->dbforge->create_table($this->users_table);
}

2 个答案:

答案 0 :(得分:2)

codeigniter中的db forge类自动将id字段标识为主键。

$this->dbforge->add_field('id'); // gives id INT(9) NOT NULL AUTO_INCREMENT

答案 1 :(得分:1)

感谢Neit的帮助。答案是:id INT(11)NOT NULL AUTO_INCREMENT PRIMARY KEY