Php 主键为自动递增的重复输入错误?
我得到了主键的重复输入错误,这是表中定义的自动增量字段Php 主键为自动递增的重复输入错误?,php,mysql,pdo,Php,Mysql,Pdo,我得到了主键的重复输入错误,这是表中定义的自动增量字段 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 1' in 我试图在几乎同时向表中添加一个条目。这可能是原因,但我不确定 实际上,在后台运行多个ajax调用,它们有时试图在表中同时添加具有相同主键的条目
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]:
Integrity constraint violation: 1062 Duplicate entry '0' for key 1' in
我试图在几乎同时向表中添加一个条目。这可能是原因,但我不确定
实际上,在后台运行多个ajax调用,它们有时试图在表中同时添加具有相同主键的条目
我想这就是sql引擎自动生成相同主键的问题
Mysql表类型:MyISAM
如何解决这个问题
表定义:结果id是主键字段
我已经为数据库条目编写了writenPDO包装器,尽管我使用的是去年的这个数据绑定对象,没有发现任何问题。附上评论中要求的部分
注意:ID(主键)不是INSERT语句的一部分
$valueList = "";
$query = 'INSERT INTO ' . $this->tableName . ' (';
foreach ($this->relationMap as $key => $value) {
eval('$actualVal = &$this->' . $value . ';');
if (isset($actualVal)) {
if (array_key_exists($value, $this->modifiedRelations)) {
$query .= $key . ', ';
$valueList .= ":$value, ";
}
}
}
$query = substr($query, 0, strlen($query) - 2);
$valueList = substr($valueList, 0, strlen($valueList) - 2);
$query .= ") VALUES (";
$query .= $valueList;
$query .= ")";
//prepare and execute codes - here
$this->ID = $this->objPDO->lastInsertId();
或
您已经根据sanpshot在主键中设置了结果id
但我想你还没有设定是自动递增的
请使用自动增量设置主键
或
您已经根据sanpshot在主键中设置了结果id
但我想你还没有设定是自动递增的
请设置具有自动增量的主键,首先删除id=1的行(第一条记录),然后通过将id字段的自动增量属性设置为“True”(通过单击自动增量复选框并保存)编辑表结构。首先删除id=1的行(第一条记录),然后通过将id字段的Auto_Increment属性设置为True(单击Auto_Increment复选框并保存)来编辑表结构。确保它是((Auto_Increment))确保它是((Auto_Increment))我在发布这个问题之前看过这篇文章。他的解决方案是删除数据库并重新创建数据库,这不是一个解决方案,我会经常遇到这个问题,因为表中有相同的时间项欢迎使用堆栈溢出!请写一个完整的答案,而不是仅仅提供一个链接。我在发布这个问题之前看到了这篇文章。他的解决方案是删除数据库并重新创建数据库,这不是一个解决方案,我会经常遇到这个问题,因为表中有相同的时间项欢迎使用堆栈溢出!请写一个完整的答案,而不仅仅是提供一个链接。向我们展示您正在执行的SQL查询,表定义也向我们展示“$this->relationmap”。向我们展示您正在执行的SQL查询,表定义也向我们展示“$this->relationmap”。