gdf*_*dfg 5 codeigniter codeigniter-3
我有这个迁移:
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);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试设置created_at带有默认值列的表- 当前日期时间。我正在使用'default' => 'CURRENT_TIMESTAMP',但出现此错误:
'created_at' 的默认值无效 .... NOT NULL,
created_atdatetime NOT NULL DEFAULT 'CURRENT_TIMESTAMP',
我使用CodeIgniter 3带MySQL。
小智 7
这对我有用,并且在文档中有效
将字符串作为字段传递 如果您确切地知道要如何创建字段,则可以使用 add_field() 将字符串传递到字段定义中
$this->dbforge->add_field("label varchar(100) NOT NULL DEFAULT 'default label'");
注意:将原始字符串作为字段传递后不能在这些字段上调用 add_key() 。
`$this->dbforge->add_field(
array(
'nombre' =>
array(
'type' => 'VARCHAR',
'constraint' => '150',
),
'paterno' =>
array(
'type' => 'VARCHAR',
'constraint' => '80',
),
'materno' =>
array(
'type' => 'VARCHAR',
'constraint' => '80',
),
'correo' =>
array(
'type' => 'varchar',
'constraint' => '150',
'unique'=> TRUE,
),
'username' =>
array(
'type' => 'varchar',
'constraint' => '80',
),
'genero' =>
array(
'type' => 'varchar',
'constraint' => '30',
),
'pass' =>
array(
'type' => 'varchar',
'constraint' => '255',
),
'direccion' =>
array(
'type' => 'varchar',
'constraint' => '200',
),
'telefono' =>
array(
'type' => 'varchar',
'constraint' => '30',
),
'celular' =>
array(
'type' => 'varchar',
'constraint' => '30',
),
'created_at datetime default current_timestamp',
'updated_at datetime default current_timestamp on update current_timestamp',
'status' =>
array(
'type' => 'tinyint',
'constraint' => '1',
),
)
);`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4069 次 |
| 最近记录: |