가 나는 다음과 같은 쿼리있어 :PDO lastInsertId()는 중복 키 업데이트시 사용하면 0을 반환합니다.
$a = $members->prepare("insert into a(name) values(:name)
on duplicate key update name = :name");
을 그리고 내가 할 때 쿼리가 성공적으로 행을 삽입 한 경우
$insert_id = $a->lastInsertId()
이것은 꽤 논리적 인 기본 동작이지만이 방법을 사용하면 해당 ID를 반환 할 수 있습니다. 행에서 실제로 변경 될 때처럼 업데이트하려고 시도한 행.
감사합니다.
다행히도/불행히도 (어떻게 보느냐에 따라 다름) MySQL은'AUTO_INCREMENT' 시퀀스 만 가지고 있으므로 비표준 확장이 없으면 인수가없는'MySQL'' -> lastInsertId()'에 대해 괜찮습니다. , 'PostreSQL'과는 반대이다. – Wrikken