1 codeigniter database-migration
下面是我的代码请告诉我我错在哪里..
public function up(){
$this->dbforge->add_field(array(
'id'=> array(
'type' => 'int',
'constraint' => 11,
'auto_increment'=> TRUE,
),
'ip_address'=> array(
'type' => 'VARCHAR',
'constraint'=> '40',
),
'login'=> array(
'type' => 'VARCHAR',
'constraint'=> '50',
),
'time'=> array(
'type' => 'timestamp',
'Default' => 'CURRENT_TIMESTAMP',
'ON UPDATE CURRENT_TIMESTAMP' => TRUE,
),
));
$this->dbforge->add_key('id',TRUE);
$this->dbforge->create_table('login_attempts');
echo "table created";
}
Run Code Online (Sandbox Code Playgroud)
并且此错误将在运行迁移时生成
错误编号:
1067
“时间”的默认值无效
CREATE TABLE login_attempts (id int(11) NOT NULL AUTO_INCREMENT, ip_address VARCHAR(40) NOT NULL, login VARCHAR(50) NOT NULL, 时间时间戳 NOT NULL DEFAULT 'CURRENT_TIMESTAMP', CONSTRAINT pk_login_attempts PRIMARY TERACID = utf8 整理 = utf8_general_ci
文件名:D:/xampp/htdocs/tank_auth/system/database/DB_driver.php
行号:691
查看time列的默认值。在 MySQL 中CURRENT_TIMESTAMP不能在单括号中。由于 CodeIgniter 出于安全原因会自动转义默认值,因此您也可以传递整个字符串,例如:
'time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP',
Run Code Online (Sandbox Code Playgroud)
将其他列保留为数组。仅如上所示更改时间列。
| 归档时间: |
|
| 查看次数: |
2796 次 |
| 最近记录: |