创建了新的Laravel 5.2.8项目。
当我想要进行预定义的迁移时,我收到错误:
[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 :(得分:0)
错误正是在告诉你什么是错的。查看您的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;