Mysql 插入到另一个表时更改一个表
首先让我在这里解释一下我的情况,我有一个名为users的表格,它存储用户信息Mysql 插入到另一个表时更改一个表,mysql,sql,database,database-design,triggers,Mysql,Sql,Database,Database Design,Triggers,首先让我在这里解释一下我的情况,我有一个名为users的表格,它存储用户信息 +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | user_id | varchar(10) | NO | PRI
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| user_id | varchar(10) | NO | PRI | NULL | |
| username | text | NO | | NULL | |
| password | text | NO | | NULL | |
| name | text | NO | | NULL | |
| email | text | NO | | NULL | |
| status | varchar(15) | NO | | active | |
+----------+-------------+------+-----+---------+-------+
还有一张名为“国家”的表格
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| country_id | varchar(10) | NO | PRI | NULL | |
| country_name | text | NO | | NULL | |
| country_rate | double | NO | | 0.2 | |
+--------------+-------------+------+-----+---------+-------+
现在,我需要一个过程来映射分配给特定用户的国家数量。
例如:
允许用户使用国家/地区、国家/地区、国家/地区
允许用户_002使用国家(地区)_003、国家(地区)_008
等等
实现上述目标的最佳方法是什么
我的想法是有一个名为say assignment的表,它将包含以下字段:
assignment_id (primary key)
user_id (foreign Key)
country_001 (bool)
country_002 (bool)
...
...
country_010 (bool)
我不确定这是否是最好的方法,但即使我这样做了,我还是会在每次插入country表时(在assignment中添加一个BOOL字段,以新创建的country_id作为列名)如何更改赋值结构
我希望我能解释我的情况。我知道我可以通过语言支持代码(PHP,C++等)来实现,但是我在想,如果可以用某种触发器来完成,这样我就不用在代码部分去关心它了。
非常感谢。这样定义
user\u countries
表会更好:
user_id fk on users(user_id)
country_id fk on countries(country_id)
unique key on ( user_id, country_id ) -- composite unique key
我不确定您为什么要在用户国家/地区关系表中定义10列。但是,您只需使用外键和
在
用户id
和国家id
之间具有一对多关系。有了它,您可以轻松处理用户和国家/地区的关系。它们组合上的唯一键可以加快数据访问速度并避免重复。那么,您建议的是为每个任务设置一个条目?如分配_001、用户_001、con_002;然后分配_002、用户_001、con_004Yes。而且,作业id
,我觉得这不是必需的。但我不知道你想如何使用它。我想是的,最好有另一个表来处理这个国家的用户