当 table 上已有记录时,在 table 中添加 FK 字段
Add FK field in table when there are already records on that table
假设 FB 之前在他们的用户 table 中没有 gender_id,他们突然决定将其添加为必填字段。
如果他们在相同的 table 用户中将此字段添加为 fk,当所有其他记录的值都不为 gender_id 时,会发生什么情况。事实上 mysql 不会让你这样做,直到你有一个 gender_id 值也可以添加到其他记录。
当然他们不能删除所有用户来执行此操作,我的问题是,这种情况的最佳解决方案是什么?
1.I 正在考虑在新的 table 中添加此字段并使用 gender_id 引用 user_id,因此对于传入用户来说,必须具有 gender_id.
2.Add 性别的新记录,例如 0=male,1=female,2=unsigned 所以默认情况下为所有其他用户添加无符号值 (2)
你有什么看法?
这正是我会做的。添加 FK 字段,默认为 0,我喜欢使用 0 作为未知大小写,那么可能 1=male,2=female。我不允许在该字段中使用 NULL,如果未提供任何值,则始终将其默认为 0。
假设 FB 之前在他们的用户 table 中没有 gender_id,他们突然决定将其添加为必填字段。
如果他们在相同的 table 用户中将此字段添加为 fk,当所有其他记录的值都不为 gender_id 时,会发生什么情况。事实上 mysql 不会让你这样做,直到你有一个 gender_id 值也可以添加到其他记录。
当然他们不能删除所有用户来执行此操作,我的问题是,这种情况的最佳解决方案是什么?
1.I 正在考虑在新的 table 中添加此字段并使用 gender_id 引用 user_id,因此对于传入用户来说,必须具有 gender_id.
2.Add 性别的新记录,例如 0=male,1=female,2=unsigned 所以默认情况下为所有其他用户添加无符号值 (2)
你有什么看法?
这正是我会做的。添加 FK 字段,默认为 0,我喜欢使用 0 作为未知大小写,那么可能 1=male,2=female。我不允许在该字段中使用 NULL,如果未提供任何值,则始终将其默认为 0。