相关疑难解决方法(0)

使用 ENUM 与 Integer 类型的优缺点?

假设在某个随机表中,您有一个名为status的列。它的实际值将是enableddisabled

此列的数据类型是 int/bool(1 或零)还是ENUM与值为enabledand一起使用更好disabled?有什么优点或缺点?

假设您有 4 个或 10 个甚至更多,而不仅仅是两个有效状态?随着所需值数量的增加,优势和劣势会向一侧倾斜还是向另一侧倾斜?

mysql database-design datatypes

136
推荐指数
3
解决办法
7万
查看次数

是否可以更改 ENUM() 列表?

我不确定是否无法更改 ENUM() 列表,因此我进行了测试。在 MySQL v5.1.58 中,我制作了一个测试 InnoDB 表,其中包含一个名为 ENUM('yes', 'no') 的名为 'bool' 的字段。

然后我执行...

ALTER TABLE  `test`
CHANGE  `bool`  `bool` ENUM(  'yes',  'no',  'maybe' )
CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
Run Code Online (Sandbox Code Playgroud)

...它奏效了。

我做错了什么吗?它依赖于数据库引擎吗?
为什么每个人都说更改 ENUM() 列表是不可能的?例如。这里http://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/

mysql innodb

21
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

database-design ×1

datatypes ×1

innodb ×1