首页 > 数据库 >MySQL里 没有 boolean类型 怎么办?MySQL 里的 tinyint(1)

MySQL里 没有 boolean类型 怎么办?MySQL 里的 tinyint(1)

时间:2024-04-18 18:45:15浏览次数:30  
标签:使用 TINYINT tinyint boolean MySQL active example

之前我写的博客:https://www.cnblogs.com/del88/p/12538470.html
由于之前的博客,没有使用markdown 懒得重新排版了,重新写一篇;

直接看AI给的答案吧:

MySQL里 没有 boolean类型 怎么办?

在MySQL中,确实没有专门的boolean数据类型。不过,MySQL通常使用TINYINT(1)作为布尔值的替代。当使用TINYINT(1)来表示布尔值时,通常约定0代表false,而1代表true

例如,你可以在创建表时使用TINYINT(1)来表示一个布尔字段:

CREATE TABLE example (
    id INT AUTO_INCREMENT PRIMARY KEY,
    is_active TINYINT(1) NOT NULL
);

在这个例子中,is_active字段可以存储01,分别代表falsetrue

当你查询这个字段时,可以像这样使用:

SELECT * FROM example WHERE is_active = 1; -- 查找所有活跃的记录

或者:

UPDATE example SET is_active = 0 WHERE id = 5; -- 将ID为5的记录的is_active设置为false

虽然TINYINT(1)在MySQL中用于表示布尔值,但实际上它可以存储从-128到127的任何整数值(当使用有符号整数时)。因此,为了确保数据的准确性,你可能需要在应用层或者在数据库层面通过触发器或约束来确保该字段只包含01

另外,从MySQL 8.0.16版本开始,MySQL也支持了使用BOOLEANBOOL作为别名来定义TINYINT(1)字段,但这仅仅是语法上的便利,内部表示仍然是TINYINT(1)。例如:

CREATE TABLE example (
    id INT AUTO_INCREMENT PRIMARY KEY,
    is_active BOOLEAN NOT NULL -- 实际上是TINYINT(1)
);

在这个例子中,is_active字段在功能上与使用TINYINT(1)定义是相同的。

标签:使用,TINYINT,tinyint,boolean,MySQL,active,example
From: https://www.cnblogs.com/del88/p/18144191

相关文章

  • MYSQL 8 窗口函数的优点
    窗口函数的特点是可以分组,而且可以在分组内排序。另外,窗口函数不会因为分组而减少原表中的行数I这对我们在原表数据的基础上进行统计和排序非常有用。递归调用 复杂报表统计能力增强:窗口函数允许在数据集(窗口)内进行行级别的运算,而不会像传统聚合函数那样折叠所有行到单个输......
  • java-mysql-语法
    条件查询1.条件运算符:>,<,=,!=,<>2.按逻辑表达式:&&,||,!and,or,not &&和and:两个条件都为true.结果为true,反之为false ||和or:只要有一个条件为true,结果就为true,反之为false !和not:如果连接的条件本身就为false,结果为......
  • Alibaba Cloud Linux 3.2104 LTS 安装mysql5.7.39
    1上传mysql安装包到linux服务器tar-zxvfmysql-5.7.39-linux-glibc2.12-x86_64.tar.gzmvmysql-5.7.39-linux-glibc2.12-x86_64mysql5.72创建mysql用户groupaddmysqluseradd-gmysql-s/sbin/nologinmysqlchown-Rmysql:mysqlmysql5.7 ......
  • Ubuntu部署有道QAnything(中间涉及到更换mysql容器端口)
    1、系统配置版本:Ubuntu20.04有两块3090的显卡2、下载相关文件首先下载源码,下载完成后解压得到QAnything-master文件夹github下载地址:https://github.com/netease-youdao/qanythinggitee下载地址:https://gitee.com/netease-youdao/QAnything?_from=gitee_search下载embed......
  • 当 mysql-connector-java-5 遇上 MySQL8,终究还是错付了 → 门当户对真的很重要!
    开心一刻今天,老婆给我发消息老婆:老公,儿子从隔壁邻居家回来了老婆:是先打还是先洗?我:先洗吧,万一打错人了呢老婆:先洗脸吧,没错就边打边洗起因在我们的固有认知中, mysql-connector-java-5.x.x 连接的是 MySQL5 ,而 mysql-connector-java-8.x.x 连......
  • Failing package is: mysql-community-server-5.7.44-1.el7.x86_64 GPG Keys are con
    Failingpackageis:mysql-community-server-5.7.44-1.el7.x86_64GPGKeysareconfiguredas:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql  执行 wget--quiet--output-document-https://repo.mysql.com/RPM-GPG-KEY-mysql-2022|gpg--no-default-keyring--keyr......
  • centos7 安装 Mysql 5.7.28,详细完整教程
    https://cloud.tencent.com/developer/article/1886339 1. 下载MySQLyum包wgethttp://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm复制2.安装MySQL源rpm-Uvhmysql57-community-release-el7-10.noarch.rpm复制3.安装MySQL服务端,需要等待一些......
  • Centos系统彻底卸载MySQL数据库
    一、检查系统是否安装了MySQL数据库命令:rpm-qa|grep-imysql  二、关闭MySQL服务命令:servicemysqlstop三、卸载并删除MySQL(不检查依赖关系)卸载common命令:rpm-ev--nodepsmysql-community-common-8.0.29-1.el7.x86_64  卸载libs命令:rpm-ev--nodepsmysql-......
  • Go 单元测试之Mysql数据库集成测试
    目录一、sqlmock介绍二、安装三、基本用法四、一个小案例五、Gorm初始化注意点一、sqlmock介绍sqlmock是一个用于测试数据库交互的Go模拟库。它可以模拟SQL查询、插入、更新等操作,并且可以验证SQL语句的执行情况,非常适合用于单元测试中。二、安装gogetgithub.com/......
  • MySQL服务无法启动 服务没有报告任何错误
    安装MYSQL后启动服务出现错误在启动MySQL服务时出现该报错解决方法:将原本在MySQL根目录下的my.ini文件移动到bin目录下(my.ini文件参考:这里)  删除根目录下的data目录  管理员方式运行命令行并移动到mysql中的bin目录下(cd+目录命令)  移除MySQL服务执......