answer to a similar question只是忽略了这个问题。我根本就不买那个最好的答案。
我数据库中的相关表格:
Venueid是场地中的auto_incremented主键,省,市和场地的组合必须是唯一的,否则插入将失败。
这一切都有效,但即使插入失败,也会困扰我sceneid,所以我最终得到主键空白。有没有更好的方法来强制执行唯一性,或者我试图将这些表联系起来的方式不是最佳实践,它们应该真的结合起来吗?
答案 0 :(得分:1)
我根本就不买那个最好的答案。
那么,你需要了解更多。
坦率地说,不要将唯一标识符作为一个数字。它只是偶然发生的数字。将其作为识别您的记录的抽象事项。
答案 1 :(得分:1)
没有真正解决此MYSQL的方法,PostGre具有相同的行为,即使在事务中,如果事务失败,auto_incremented值也不会回滚。
http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html
对您的问题最合适的解决方案可能是利用自动增量锁定。