我想创建表格。 例如,
create table countryrules(cname varchar(15), rule1, rule2);
此处,rule1
和rule2
包含字符串列表。
那么,请告诉我我可以使用哪种数据类型?
答案 0 :(得分:7)
而是使用另一个表来关联国家和规则。
country table
-------------
id
name
other_column
rule table
----------
id
name
other_column
countryrules table
------------------
country_id
rule_id
答案 1 :(得分:1)
strings
..... !!
配对,这是database
,它应该包含特定值,如果您打算在架构中存储string
,我建议您normalize
从头开始整个数据库计划然后提出架构以更有效的方式存储价值!!!!! :)
juergen d 的架构是一个很好的开始!! :d
答案 2 :(得分:1)
我不确定您是否正在尝试为列定义受约束的值列表
如果是,那么您可以尝试使用enum
或set
值。
示例 :
mysql> CREATE TABLE `set_of_values` (
-> `e` enum('yes','no') DEFAULT 'no',
-> `s` varchar(10) DEFAULT NULL,
-> `e2` enum('ok','ok_2','not_ok') DEFAULT NULL,
-> `e3` enum('ok','ok_2','not_ok') NOT NULL,
-> `st` set('a','b','c') DEFAULT 'c'
-> )
-> ;
Query OK, 0 rows affected (0.45 sec)
mysql>
mysql> desc set_of_values;
+-------+----------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------------------------+------+-----+---------+-------+
| e | enum('yes','no') | YES | | no | |
| s | varchar(10) | YES | | NULL | |
| e2 | enum('ok','ok_2','not_ok') | YES | | NULL | |
| e3 | enum('ok','ok_2','not_ok') | NO | | NULL | |
| st | set('a','b','c') | YES | | c | |
+-------+----------------------------+------+-----+---------+-------+
5 rows in set (0.01 sec)