首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当前MySQL中布尔列数据类型的最佳实践是什么?

问当前MySQL中布尔列数据类型的最佳实践是什么?
EN

Stack Overflow用户
提问于 2020-05-15 01:55:23
回答 1查看 87关注 0票数 0

假设我有以下要在MySQL中创建的伪表:

代码语言:javascript
复制
CREATE TABLE 'Stuff' (
  'ID' bigint NOT NULL AUTO_INCREMENT,
  'IsAThing' boolean NOT NULL,
  PRIMARY KEY ('ID')
)

到目前为止(v8.0.x),MySQL实际上没有用于此的布尔数据类型,因此我需要使用TinyInt。在过去,最佳实践是使用TinyInt(1),其中(1)部分不是一种数据类型,而是一种默认的显示配置(即只显示TinyInt编号的1位数,即使它存储的值是100)。

然而,这些天来,这样做会给您一个警告: Integer display width已弃用。This question是相关的,但更具体地解决了INT(4)的使用。这里的建议是使用INT或忽略警告。在这种情况下,我想我会选择只使用INT,但我的问题更具体到与布尔等价的用法。

这种类似布尔的数据类型的最佳实践是什么?既然TINYINT(1)现在已经被弃用了,我应该只使用TINYINT而不是它吗?或者我应该做一些不同的事情?我的目标是不对这个新数据库使用过时的特性,这些特性可能会在未来的数据库升级中存活数年。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-15 02:03:13

用来显示其实并不重要。只需使用TINYINT即可。MySQL确实有BOOLEAN,你也完全可以使用它。它和TINYINT是一样的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61804123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档