当前位置: 首页 > 知识库问答 >
问题:

SQLState 23000-完整性约束违反1062重复条目

邢宏浚
2023-03-14

我使用一个自定义的API请求到我的数据库来生成一个新的条目。

我的表格结构是这样的:

表结构

    Schema::create('incidents', function (Blueprint $table) {
        $table->increments('id');
        $table->string('incident_id')->unique();
        $table->integer('incident_type')->unsigned();
        $table->string('location');
        $table->string('street');
        $table->string('city');
        $table->double('latitude', 10, 6);
        $table->double('longitude', 10, 6);
        $table->date('date');
        $table->time('time');
        $table->smallInteger('incident_archived')->default(0);
        $table->timestamps();
    });

我将Incident_Type设置为唯一,因为这是我的系统的要求。当我向系统发布新条目时:

SERVER_IP/v1/incidents?incident_id=1&city=Muenchen&street=Fichtenstr.20&latitude=100&longitude=300

第一次很好。

第二次:

SERVER_IP/v1/incidents?incident_id=2&city=Muenchen&street=Fichtenstr.20&latitude=100&longitude=300

当我使用不同的事件id时,我得到错误:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'incidents_incident_id_unique' (SQL: insert into `incidents` (`street`, `city`, `latitude`, `longitude`, `updated_at`, `created_at`) values (Fichtenstr.20, Muenchen, 100, 300, 2015-10-17 12:28:11, 2015-10-17 12:28:11))

为什么发送请求使用完全相同的条目,即使我更改了数据?我该怎么解决这个问题?

共有1个答案

龚征
2023-03-14

这是因为您没有为事件id传递任何值,所以每次默认为空字符串。

insert into `incidents` (`street`, `city`, `latitude`, `longitude`, `updated_at`, `created_at`) values (Fichtenstr.20, Muenchen, 100, 300, 2015-10-17 12:28:11, 2015-10-17 12:28:11))

不是Laravel用户,所以我无法告诉您为什么它没有使用您传入的事件id。

 类似资料:
  • 我不确定这个错误是从哪里来的。我不知道它将如何尝试将副本添加到我的数据库中。思想?我打错电话了吗?我已经把范围缩小到我知道与签名部分有关的地方。我在DB中只有一列id

  • 当我试图在数据库中创建一个新用户时,我遇到了一个问题,如果我在phpmyadmin中添加用户,我没有问题,但是当我试图在laravel web中创建用户时,用户创建了一个错误:SQLSTATE[23000]:完整性约束冲突:1062重复条目'15.236.964-5'键'primary'我不知道是哪个问题,因为数据库中不存在相同的主键。有问题的表格是: 我的控制器: 我的模型: 我不能更改添加au

  • 我提交一个表单与AJAX和在网络我得到这个错误。 我正在使用Laravel5.6和迁移。这是此表的迁移。 这是我的控制器的功能。 我的文件上传成功,数据也被插入到数据库中,但我仍然收到这个错误。这不影响我,但想解决它吗?

  • 我是拉雷维尔的新手,这是我在拉雷维尔的第一个项目。像往常一样,首先我正在开发一个完整的用户身份验证系统。我可以注册一个用户,可以发送用户验证电子邮件,点击该链接后,我可以激活一个新的用户帐户,可以登录和注销。但在那之后,每当我尝试注册另一个新用户并单击验证链接后,我都会遇到一个异常, 现在这是我的路线。php, 这是我的账户管理员 这是我的创建用户迁移文件 这是我的用户。php 现在有什么问题?

  • 我正在尝试在代码中使用: 这个东西也不起作用: 如果文件已经存在,我如何制作媒体来替换它?

  • 这是用户迁移: 更新:这是我的插入函数: 当我的数据库中有一个melli(如1234567890)并且我尝试再次写入1234567890时,就会发生此错误,因为melli字段是唯一的。