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();
});
如何解决这个问题呢?
答
错误正是告诉你什么是错的。请参阅您的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;
@Maraboc,谢谢!我使用MySQL 5.5版本。更新后,我的问题解决了 –