Laravel迁移错误

问题描述:

创建新的Laravel 5.2.8项目。Laravel迁移错误

当我想要做的预定义的迁移,我得到一个错误:

[Illuminate\Database\QueryException] 
SQLSTATE[HY000]: General error: 1293 Incorrect table definition; there can be only one TIMESTAMP column with CURREN 
T_TIMESTAMP in DEFAULT or ON UPDATE clause (SQL: create table `users` (`id` int unsigned not null auto_increment pr 
imary key, `name` varchar(255) not null, `email` varchar(255) not null, `password` varchar(60) not null, `remember_ 
token` varchar(100) null, `created_at` timestamp default CURRENT_TIMESTAMP not null, `updated_at` timestamp default 
CURRENT_TIMESTAMP not null) default character set utf8 collate utf8_unicode_ci) 



[PDOException] 
SQLSTATE[HY000]: General error: 1293 Incorrect table definition; there can be only one TIMESTAMP column with CURREN 
T_TIMESTAMP in DEFAULT or ON UPDATE clause 

迁移:

Schema::create('users', function (Blueprint $table) { 
    $table->increments('id'); 
    $table->string('name'); 
    $table->string('email')->unique(); 
    $table->string('password', 60); 
    $table->rememberToken(); 
    $table->timestamps(); 
}); 

如何解决这个问题呢?

+0

@Maraboc,谢谢!我使用MySQL 5.5版本。更新后,我的问题解决了 –

错误正是告诉你什么是错的。请参阅您的CREATE TABLE声明;你不能有timestamp和默认的两列CURRENT_TIMESTAMP

SQL:

create table `users` (`id` int unsigned not null auto_increment pr 
imary key, 
`name` varchar(255) not null, 
`email` varchar(255) not null, 
`password` varchar(60) not null, 
`remember_ 
token` varchar(100) null, 
`created_at` timestamp default CURRENT_TIMESTAMP not null, <-- here 
`updated_at` timestamp default CURRENT_TIMESTAMP not null) <-- here 
default character set utf8 collate utf8_unicode_ci;