Mysql sets boolean type operations

Mysql sets boolean type operations

Mysql sets boolean type

1. Tinyint type

We create a test table and set its bl field to boolean type

create table test(
	id int PRIMARY key,
	status boolean
)

This will create success. If you look at the statement after creating the table, you will find that MySQL replaces it with tinyint(1).

insert image description here

Tinyint can only store integers from 0 to 255. Since there is no boolean type in MySQL, the tinyint[1] type is used to represent it. In MySQL, boolean=tinyint[1]

0 represents false

1 represents true

Simply define the attribute as a Boolean value in pojo: private Boolean status

When the type is tinyint[1], no matter whether it stores 0, 1, 2, 3, 4, etc., the returned value is of boolean type. When we need to use it to store integer values, we can set it to tinyint[4]

MySQL boolean type solution

1. Source of demand

Today, when defining a requirement, when using REST request to operate the database, the value corresponding to a certain key must be a boolean value.

In MySQL, a field must be a Boolean value.

{
	"neId": 2,
	"data": [{
			"alarmLevel": "1",
			"selection": true
		},
		{
			"alarmLevel": "2",
			"selection": true
		}
	]
}

2. Plundering the people’s blood and sweat

When setting boolean in MySQL, I found that there was no such type. Later, I searched "民脂民贵" and found the solution:

The boolean type is represented by tinyint.

3. Create a database

insert image description here

Standard construction structure:

DROP TABLE IF EXISTS db_msp.alarm_shield_level;
CREATE TABLE db_msp.`alarm_shield_level` (
  `neId` int(11) NOT NULL,
  `alarmLevel` varchar(32) NOT NULL,
  `alarmLevelCh` varchar(32) NOT NULL,
  `alarmLevelEn` varchar(32) NOT NULL,
  `enableStatus` tinyint(1) NOT NULL,
  PRIMARY KEY (`neId`,`alarmLevel`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

4. Conclusion

When MySQL saves Boolean values, 1 is used to represent TRUE and 0 is used to represent FALSE. The Boolean type in MySQL is tinyint(1).

When checking the library in the Java code, if the data in the library is 1, the code returns true; if the data in the library is 0, the code returns false.

The above is my personal experience. I hope it can give you a reference. I also hope that you will support 123WORDPRESS.COM.

You may also be interested in:
  • Mybatis connects to MySQL database Tinyint is a boolean type detailed explanation
  • A brief discussion on several situations where MySQL returns Boolean types

<<:  A good way to improve your design skills

>>:  In-depth understanding of Linux load balancing LVS

Recommend

In IIS 7.5, HTML supports the include function like SHTML (add module mapping)

When I first started, I found a lot of errors. In...

JavaScript method to detect the type of file

Table of contents 1. How to view the binary data ...

Modification of time zone problem of MySQL container in Docker

Preface When Ahhang was developing the Springboot...

Detailed explanation of Mysql transaction processing

1. MySQL transaction concept MySQL transactions a...

JavaScript implements an input box component

This article example shares the specific code for...

MySQL full-text search Chinese solution and example code

MySQL full text search Chinese solution Recently,...

Install nvidia graphics driver under Ubuntu (simple installation method)

Install the nvidia graphics card driver under Ubu...

Specific usage of textarea's disabled and readonly attributes

disabled definition and usage The disabled attrib...

How to deal with time zone issues in Docker

background When I was using Docker these two days...

Three ways to refresh iframe

Copy code The code is as follows: <iframe src=...

Docker installation of MySQL (8 and 5.7)

This article will introduce how to use Docker to ...

Detailed description of mysql replace into usage

The replace statement is generally similar to ins...

How to install nginx in docker and configure access via https

1. Download the latest nginx docker image $ docke...

Detailed explanation of HTML area tag

The <area> tag defines an area in an image ...