top-think / think-orm

Think ORM——the PHP Database&ORM Framework
Apache License 2.0
413 stars 171 forks source link

修改pgsql兼容,在事务内,没有自增id返回时,因为sql报错,事务中止,不能提交,只能回滚 #593

Open qfz9527 opened 1 month ago

qfz9527 commented 1 month ago

https://stackoverflow.com/a/22743521

qfz9527 commented 1 month ago

https://github.com/top-think/think-orm/pull/591 这个提出一种解决方式,但是没有解决完,如果表没有自增id时,因为调用lastInsertId报错,会导致事务回滚,在pgsql,里,事务里sql执行只要报错,抛出异常,不管是否捕获,事务就会终止,最好是可以通过配置关闭,框架内部sql执行

ZhouSiliang commented 1 month ago

Model的save方法会要求返回lastInsertId,此种情况该pr未得到修复

qfz9527 commented 1 month ago

Model的save方法会要求返回lastInsertId,此种情况该pr未得到修复

这样有没有问题, image

liu21st commented 1 month ago

建议如果要调整的 可以在具体驱动里面调整

qfz9527 commented 1 month ago

建议如果要调整的可以在具体驱动里面调整

调整了,你看看