このエラーが発生しています
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>";
}
原因がわからないので誰か教えてください??