gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:55:25 25 4
gpt4 key购买 nike

我正在对我的数据库使用自定义 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 设置为 Unique,因为这是我的系统的要求。当我向系统发布新条目时:

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

当我使用不同的 incident_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))

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

最佳答案

那是因为您没有为 incident_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 用户,所以我不能告诉你为什么它不使用你传入的 incident_id。

关于php - SQLState 23000 - 违反完整性约束 1062 重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33186692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com