【发布时间】:2018-07-25 02:32:06
【问题描述】:
我有这个迁移:
public function up(){
$this->dbforge->add_field([
'id'=>['type'=>'int', 'unique'=>true, 'unsigned'=>true,'auto_increment'=>true],
'email'=>['type'=>'varchar', 'constraint'=>200, 'null'=>true],
'password'=>['type'=>'varchar', 'constraint'=>250],
'created_at'=>['type'=>'datetime', 'default' => 'CURRENT_TIMESTAMP'],
]);
$this->dbforge->add_key('id', TRUE);
$this->dbforge->create_table('users', TRUE);
}
我正在尝试使用默认值 - 当前日期时间设置包含 created_at 列的表。
我正在使用'default' => 'CURRENT_TIMESTAMP',但出现此错误:
'created_at' 的默认值无效 .... NOT NULL,
created_atdatetime NOT NULL DEFAULT 'CURRENT_TIMESTAMP',
我正在使用CodeIgniter 3 和MySQL。
【问题讨论】:
-
而不是
'created_at'=>['type'=>'datetime', 'default' => 'CURRENT_TIMESTAMP']试试'created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'- -
嗨,谢谢。它必须放在列名键中,而不是
created_at将是created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP并删除此键中的数组(带有类型和默认值)。