【发布时间】:2013-09-06 19:05:03
【问题描述】:
answer to a similar question 只是忽略了这个问题。我根本不买这是最好的答案。
我数据库中的相关表:
- 场地(venueid、省、市、场地)
- 成员(memberid、姓氏、名字、生日、电话、招聘ID)
- 事件(venueid、类型、memberid、vip、eventfee、costid、date)
Venueid是场地中自增的主键,省、市、场地的组合必须唯一,否则插入失败。
一切正常,但让我感到困扰的是,即使插入失败,venueid 也会增加,所以我最终会得到主键间隙。有没有更好的方法来强制唯一性,或者我试图关联这些表的方式不是最佳实践,它们真的应该结合起来?
【问题讨论】:
-
什么是sql语句?
-
这是最好的答案。买吧,真的。间隙是无害的。
-
... 如果间隙不是无害的,那么您真的不应该使用 AUTO_INCREMENT。尽管有它的名字,但这不是它的用途!
-
@jeff
$query = "insert into venues (province,city,venue) VALUES ('$province','$city','$venue')"; $result = $db->query($query);
标签: php mysql normalization