之前项目开发环境是部署在mac上的,后来迁移到Linux上,结果在执行php artisan migrate
时报如下错误:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid defa
ult value for 'first_time' (SQL: ALTER TABLE lifeplan CHANGE firstTi
me first_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL)
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid defa
ult value for 'first_time
由于之前项目的环境是PHP5.6,而Linux上的为PHP7.2,所以怀疑是PHP版本不同所致,但是仔细一看,报错是关于mysql的,laravel编译的mysql语句还会有错,带着这个疑问,直接在数据库中执行ALTER TABLE lifeplan CHANGE firstTi
,发觉还是报错,这回可以确定了,问题是mysql版本太低导致的,安装了最新版本(mariadb)后,完美解决。
me first_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL