1
하나 이상의 항목이 기존의 기본 키와 중복되는 경우 pdo 트랜잭션을 커밋하면 어떻게됩니까? 트랜잭션이 중복되지 않은 모든 항목을 삽입하거나 롤백합니까?중복 항목이있는 PDO 트랜잭션을 처리하는 방법
후자의 경우 어떻게 롤백을 방지 할 수 있습니까?
하나 이상의 항목이 기존의 기본 키와 중복되는 경우 pdo 트랜잭션을 커밋하면 어떻게됩니까? 트랜잭션이 중복되지 않은 모든 항목을 삽입하거나 롤백합니까?중복 항목이있는 PDO 트랜잭션을 처리하는 방법
후자의 경우 어떻게 롤백을 방지 할 수 있습니까?
이러한 트랜잭션을 커밋 할 수 없으므로 이러한 트랜잭션을 커밋 할 수 없습니다.
이mysql> USE TEST;
Database changed
mysql> CREATE TABLE trTest(ID INT UNSIGNED PRIMARY KEY) ENGINE = InnoDB;
Query OK, 0 rows affected (0.46 sec)
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO trTest VALUES (1);
Query OK, 1 row affected (0.00 sec)
그런 다음 콘솔 # 2에서 우리가 시도 :
1은 우리가 않습니다 MySQL의 콘솔에서 # 아래 참조
mysql> USE TEST;
Database changed
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO trTest VALUES (1);
프롬프트 여기 반환하지 않습니다 세션가 중단됩니다 잠시 동안 ...
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction