比方说,我有一个名为 cities
的预定义表,其中包含我所在国家/地区的几乎所有城市。
当用户注册自己(用户表)时,user
表中的列 cities_id
存储来自表 cities
的城市 ID(外键,引用表城市),类似
CREATE TABLE `cities` (
`id` int,
`city_name` varchar(100)
)
CREATE TABLE `user` (
`id` int,
`name` varchar(60)
`****`
`cities_id` FK
)
用户表存储城市id。
但是,如果我错过了几个城市怎么办......然后用户如何将他的城市名称保存在不接受任何城市名称而只接受 ID 的用户表中。
我可以在表 user
中的 cities_id 之后再增加一列 city_name
吗
CREATE TABLE `user` (
`id` int,
`name` varchar(60)
`****`
`cities_id` FK
`citiy name` varchar(100)
)
记录用户在注册时输入的数据?这能做到吗?
最佳答案
可以给城市表添加一个类型标签,用户找不到自己对应的城市可以让他输入自己所在城市的名字,然后你在这个城市,就会在表中创建一条对应的记录类型标记为特殊状态(方便操作人员检查和更正),同时将记录id保存到用户记录中
CREATE TABLE `cities` (
`id` int,
`city_name` varchar(100),
`type` int,
)
CREATE TABLE `user` (
`id` int,
`name` varchar(60)
`****`
`cities_id` FK
)
关于mysql - 在 MySQL 中保存不预先存在的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995274/