开始事务:
mysql> begin;
Query OK, 0 rows affected (0.01 sec)
插入数据:
mysql> INSERT INTO `mytest`.`t_doctor_statistical_content`(`DSC_ID`, `ORG_CODE`, `ORG_NAME`, `DOCTOR_CODE`, `DOCTOR_NAME`, `STATISTICAL_DATE`, `OUTPATIENT_TIMES_QTY`, `HOSPITALALIZED_TIMES_QTY`, `OUT_HOSPITALALIZE_TIMES_QTY`, `INPATIENT_INCOME_TIMES_AMT`, `OPERATIONS_QTY`, `CREATE_USER_ID`, `CREATE_USER_NAME`, `CREATE_TIME`, `MODIFY_USER_ID`, `MODIFY_USER_NAME`, `MODIFY_TIME`, `REMARK`) VALUES (1, '234234', '人民医院', 'jj0004', '', '2022-10-10 18:05:52', 23, 34, 11, 123456.00, 57, '00514', 'wengml', '2022-10-10 18:06:35', NULL, NULL, NULL, '');
Query OK, 1 row affected (0.01 sec)
设置一个保留点 SAVEPOINT:
mysql> savepoint test1;
Query OK, 0 rows affected (0.01 sec)
继续插入数据:
mysql> INSERT INTO `mytest`.`t_doctor_statistical_content`(`DSC_ID`, `ORG_CODE`, `ORG_NAME`, `DOCTOR_CODE`, `DOCTOR_NAME`, `STATISTICAL_DATE`, `OUTPATIENT_TIMES_QTY`, `HOSPITALALIZED_TIMES_QTY`, `OUT_HOSPITALALIZE_TIMES_QTY`, `INPATIENT_INCOME_TIMES_AMT`, `OPERATIONS_QTY`, `CREATE_USER_ID`, `CREATE_USER_NAME`, `CREATE_TIME`, `MODIFY_USER_ID`, `MODIFY_USER_NAME`, `MODIFY_TIME`, `REMARK`) VALUES (2, '234234', '人民医院', 'jj0004', '', '2022-10-09 18:05:52', 27, 24, 16, 145776.00, 57, '00514', 'wengml', '2022-10-10 18:06:35', NULL, NULL, NULL, '');
Query OK, 1 row affected (0.01 sec)
回滚到保留点 rollback to 保留点名称:
mysql> rollback to test1;
Query OK, 0 rows affected (0.01 sec)
提交事务:
mysql> commit;
Query OK, 0 rows affected (0.01 sec)
可以看到数据库中只存在一条数据:
因为回滚到了保留点再提交事务,所以第二次插入数据失效,只有在保留点前的第一条数据有效