0
我收到此错误PDO完整性约束违规
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 1
在我的表,我没有主键与0和echo $item['nid']
没有0值也是如此。
$insertTotalRes = $conWS->prepare('INSERT INTO totalresponses (nid, created) VALUES(:nid, :created) ON DUPLICATE KEY UPDATE nid = :nid , created = :created ');
$conWS->beginTransaction();
try{
foreach ($output as $key=>$item){
$insertTotalRes->bindParam(':nid', $item['nid']);
$insertTotalRes->bindParam(':created', $item['created']);
$insertTotalRes->execute();
}
$conWS->commit();
}catch (PDOException $e){
$conWS->rollback();
echo "FAIL TO ADD ".$e->getMessage()."<br>";
}
但用这种方法我没有得到错误。
$conWS->beginTransaction();
try{
foreach ($output as $key=>$item){
$insertTotalRes = $conWS->prepare('INSERT INTO totalresponses (nid, created) VALUES('.$item['nid'].', '.$item['created'].') ON DUPLICATE KEY UPDATE nid = '.$item['nid'].' , created = '.$item['created'].' ');
$insertTotalRes->execute();
}
$conWS->commit();
}catch (PDOException $e){
$conWS->rollback();
echo "FAIL TO ADD ".$e->getMessage()."<br>";
}
我不知道为什么,任何人都可以告诉我?
你是对的,谢谢你的帮助。 – Eric
@Eric不客气,顺便说一句,如果一个答案是有帮助的,你可以upvote它:)只是说这个,因为从我之前看到的一些早期的问题,接受的答案大多有零分:) –