当有人在我的网站上注册时,他们会在3个不同的表中获得变量。
但是,由于原因不明,某些表的ID比其他表更高。
所以有人会注册并获得这些ID
表1 - ID 12 表2 - ID 15 表3 - ID 13
我利用这些ID对于各种表连接是相同的,每个注册的用户我都必须手动进入并更改ID!
我不知道该怎么做,这真的很乏味。我应该擦除数据库并重新启动吗?
答案 0 :(得分:3)
听起来你的所有三个表都设置为自动递增,并且你试图用它们的主键暗示它们之间的外键关系。这可以在短期内工作,但是如果手动插入记录,或者如果你有一个不是所有三个表都插入了数据的场景,那么它会抛弃它。您可以将自动增量值重置为您想要的任何值,但这只是一个临时修复。
如果是这种情况,您应该确定哪些是与其他人相关的“主”表。那么问问自己,是否真的有必要将这些数据分成三个表,而实际上它们都是1:1?最后,如果有必要这样做,那么您应该考虑的最佳实践是在子表中声明单独的字段,并将它们定义为与主表具有显式的外键关系。
我刚刚注册了所以我无法发表评论,但是如果你能展示“创建表”的SQL语句会有所帮助。
答案 1 :(得分:-1)
如果你知道自己在做什么,并且真的希望以这种方式工作。然后,您可以将自动增量值设置为特定数字,例如ALTER TABLE Persons AUTO_INCREMENT=100
。
如果你真的不知道自己在做什么。您最好阅读有关使用数据库,主键,关系表等的更多信息。