PDO - 未捕获的PDOException:SQLSTATE [23000]:完整性约束冲突

如何解决此问题?PDO - 未捕获的PDOException:SQLSTATE [23000]:完整性约束冲突

未捕获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`),

UNIQUE KEY `str` (`str`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

如果我输入了相同的数据的时候,我得到这个错误

如果我创建没有UNIQUE KEY的datable它运行良好

我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我得到这个错误

回答:

你有定义为​​为titlestr所以它不允许在该字段中插入duplicate value

UNIQUE KEY `title` (`title`), 

UNIQUE KEY `str` (`str`)

UNIQUE约束确保列中的所有值都不相同。

UNIQUE和PRIMARY KEY约束都为一列或一组列的唯一性提供了保证。

PRIMARY KEY约束自动具有UNIQUE约束。

以上是 PDO - 未捕获的PDOException:SQLSTATE [23000]:完整性约束冲突 的全部内容, 来源链接: utcz.com/qa/261156.html

回到顶部