Php PDO-未捕获的PDOException:SQLSTATE[23000]:完整性约束冲突
如何解决这个问题 未捕获PDOException:SQLSTATE[23000]:完整性约束冲突:1062重复项 我在我的桌子上使用唯一的钥匙Php PDO-未捕获的PDOException:SQLSTATE[23000]:完整性约束冲突,php,mysql,Php,Mysql,如何解决这个问题 未捕获PDOException:SQLSTATE[23000]:完整性约束冲突:1062重复项 我在我的桌子上使用唯一的钥匙 CREATE TABLE `blog` ( `id` int NOT NULL AUTO_INCREMENT, `title` varchar(100) NOT NULL, `str` varchar(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `title` (`title`),
CREATE TABLE `blog` (
`id` int NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`str` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `title` (`title`),
UNIQUE KEY `str` (`str`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
如果我多次输入相同的数据,就会出现此错误
如果我创建没有唯一键的数据表,它工作得很好
我的PDO插入代码
$sql = "INSERT INTO blog(title,str) VALUES(:title,:str)";
$stmt = $DBcon->prepare($sql);
$stmt->bindparam(':title', $title,PDO::PARAM_STR);
$stmt->bindparam(':str', $str,PDO::PARAM_STR);
$stmt->execute();
如果我删除$stmt->execute()代码>独特的关键概念运行良好
我在MYSQLI上试过,它可以正常工作,但在PDO中我遇到了这个错误您已经为标题
和str定义了唯一键
,因此它不允许在该字段中插入重复值
UNIQUE KEY `title` (`title`),
UNIQUE KEY `str` (`str`)
唯一约束可确保列中的所有值都不同
UNIQUE和PRIMARY KEY约束都保证了一列或一组列的唯一性
主键约束自动具有唯一约束。它会引发异常,因为您将表设置为唯一,因此不可能为同一字段多次设置相同的值。还是我误解了你的问题?你是对的,我使用UNIQUE来避免重复条目,但在MYSQLI中效果很好,但在PDO中我遇到了这个错误。你确定插入的值完全相同(已经存在)当使用mysqli和pdo?在mysqli中,它在pdo中运行良好,同时插入相同的值。我得到了这个错误。可能将它设置为两列上的复合唯一键,而不是两个单独的唯一键-或者insert ignore into代码>是的,但它在PDO中的MYSQLI上运行良好我遇到了这个错误