使用laravel迁移,我想将CURRENT_TIMESTAMP
设置为created_at列的默认值。
我不知道该错误是否是由于将laravel从5.7迁移到6而引起的
这是我的迁移文件:
Schema::create('activities', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collate = 'utf8mb4_unicode_ci';
$table->bigIncrements('id')->unsigned();
$table->unsignedInteger('user_id')->nullable()->index('idx_user_id');
$table->string('ip', 50);
$table->string('user_agent', 255);
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
});
以及控制台中的错误:
Doctrine \ DBAL \ Driver \ PDOException::(“” SQLSTATE [42000]:语法错误或 访问冲突:1064您的SQL语法错误;检查 与您的MySQL服务器版本相对应的手册 在'(CURRENT_TIMESTAMP))默认字符集utf8mb4附近使用的语法 在第1行整理'utf8mb4_unicode_ci''”
MySQL版本:5.7.23
PHP版本:7.2.10
Laravel版本:6.0.2