【问题标题】:SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default valueSQLSTATE [HY000]:一般错误:1364 字段 'id' 没有默认值
【发布时间】:2020-01-03 22:01:19
【问题描述】:
SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default value (SQL: insert into `users` (`role_id`, `name`, `username`, `email`, `password`, `updated_at`, `created_at`) values (2, lino, lino, lino@gmail.com, $2y$10$8i2ucs2nRv.ggnRHNmiK/.QPNJ4uRNwjRZCg5D6ILUMFvyr5.qyXW, 2020-01-03 21:36:49, 2020-01-03 21:36:49))

为什么在实时服务器中显示此错误,但在 localhost 中没有错误?

protected function create(array $data)
    {
        return User::create([
            'role_id' => 2,
            'name' => $data['name'],
            'username' => str_slug($data['username']),
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }

【问题讨论】:

  • "为什么这个错误在实时服务器中显示,但在本地主机中没有错误?" -- 可能是因为你的数据库在 localhost 和服务器上的配置不同。
  • 我从本地主机导入了准确的数据库。除了注册,一切正常
  • 您应该验证您的数据库结构。- users table id 列是否设置为自动增量

标签: laravel


【解决方案1】:

您的用户表 ID 不是 Auto increment 。使其自动递增。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-01
    • 2021-05-23
    • 2019-05-09
    • 2019-09-10
    • 2021-01-04
    • 2020-09-06
    • 2020-06-21
    • 2019-05-19
    相关资源
    最近更新 更多