MySQL中是否有可能以某种方式违反事务中的空约束?我有一些生产中的代码似乎这样做,我无法让它在我的开发机器上工作。
代码是用perl编写的。这是示意性的:
在我的开发机器上,这在步骤1中失败,因为它抱怨没有默认值的字段。我在两台机器上都有相同的MySQL版本(5.1.66),但生产正在linux和本地Windows 7上运行。
答案 0 :(得分:1)
对数据库执行的若干操作的事务保证atomicity
,而不是您在使用时可以违反约束。
解决方案可以是insert
,您可以通过使用最终值或某些临时值来违反约束,稍后在执行交易时使用update
覆盖这些值。