繁体   English   中英

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

[英]Incorrect table definition; there can be only one auto column and it must be defined as a key Codeigniter

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

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

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);
}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM