如何解決此問題?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我得到這個錯誤
嗯,它會拋出一個異常,因爲您將表設置爲UNIQUE,所以無法爲同一個字段多次設置相同的值。或者我誤解了你的問題? – Geshode
你是對的我使用UNIQUE來避免重複條目,但在MYSQLI中效果很好,但在PDO中我得到了這個錯誤 –
當你使用mysqli和pdo時,你確定插入了完全相同的值(已經存在)嗎? –