`
xiaoboss
  • 浏览: 650694 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于 MySQL boolean tinyint(1)的介绍

阅读更多

boolean类型
MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),
MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0,
mysql> select true,false,TRUE,FALSE;
+------+-------+------+-------+
| TRUE | FALSE | TRUE | FALSE |
+------+-------+------+-------+
|    1 |     0 |    1 |     0 |
+------+-------+------+-------+
可以如下插入boolean值:insert into [xxxx(xx)] values(true),当然也可以values(1);
举例如下:
mysql> alter table test add isOk boolean;
Query OK
mysql> desc test;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| isOk  | tinyint(1)  | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
mysql> insert into test(isOk) values(true);
Query OK
mysql> select isOk from test ;
+------+
| isOk |
+------+
|    1 |
+------+
=================

 MySQL没有boolean类型。这也是比较奇怪的现象。例:
create table xs
(
   id int primary key,
   bl boolean
)
这样是可以创建成功,但查看一下建表后的语句,就会发现,mysql把它替换成tinyint(1)。也就是说mysql把boolean=tinyInt了,但POJO类要定义成什么类型呢?
因为惯性思维,在java类中也把它定义成type。然后在Struts中使用<s:check/>标签。这就产生一个严重的问题了。<s:check>是boolean,而POJO去定义成byte。这样数据永远也无法提交,被struts的intercept拦截掉了。解决办法是在POJO类中定义成boolean,在mysql中定义成tinyint(1)

分享到:
评论

相关推荐

    Mybatis Generator将tinyint映射成Integer的解决办法.pdf

    这是因为在MyBatis中,对于tinyint(1)字段,它会将其映射为jdbcType=BIT,即使设置了`tinyInt1isBit=false`,也无法改变这一行为,因为BIT类型与Integer的映射冲突。 为了解决这个问题,有两种主要方法: 1. **...

    mybatis-generator自动生成工具,包含tinyint处理,自动获取数据库注释

    默认情况下,MBG可能会将`TINYINT(1)`视为Java的`boolean`类型,但有时这并不符合所有情况,因为`TINYINT`可以存储范围从-128到127的整数值。因此,MBG可能提供了一个定制化的方式,允许开发者自定义如何处理`...

    jbpm3.2.2在mysql中字段的类型的错误

    需要注意的是,在将`TINYINT(1)`转换为`BOOLEAN`类型时,MySQL会自动将非零值转换为`TRUE`,零值转换为`FALSE`。如果原来的`TINYINT(1)`字段中存储了除0和1之外的其他数值,则在转换前应先进行数据清理或转换,以...

    MYSQL常见问题及解答

    - **`BOOL` 和 `BOOLEAN`:** 在 MySQL 中,这两个关键字实际上是别名,表示 `TINYINT(1)` 类型,这意味着它们只能存储 0 或 1,分别代表 false 和 true。 - **注意:** 尽管 `BOOL` 和 `BOOLEAN` 在 SQL 标准中被...

    云平台开发人员MySQL数据库知识手册

    MySQL 数据库中的数据基本类型包括 BIT、TINYINT、BOOL、BOOLEAN 等。BIT 是一个整数类型,TINYINT 是一个很小的整数类型,BOOL 和 BOOLEAN 是布尔类型。 HELP 命令 HELP 命令是 MySQL 数据库中的一个重要命令,...

    java_mysql_数据类型对照.doc

    - **BOOLEAN类型**:尽管MySQL中使用TINYINT来表示布尔值,但在Java中使用`java.lang.Boolean`更加直观,特别是在Web开发中,这种映射简化了前端与后端之间的数据交互。 - **整型与浮点型**:选择合适的数据类型对...

    java实体转mysql建表语句

    - `boolean`和`Boolean`对应`TINYINT`。 - `Date`和`Timestamp`对应`DATE`,`TIME`或`TIMESTAMP`。 7. **注解驱动的实体类**: 使用JPA的注解,如`@Entity`(标识实体类)、`@Table`(指定表名)、`@Id`(主键)...

    MySql于Java数据类型对应列表

    本文将详细介绍MySQL中的各种数据类型及其在Java中的对应类型,并解释这些类型的具体含义以及它们在实际应用中的作用。 #### 数据类型对照表解析 ##### 1. VARCHAR (可变长度字符串) **显示长度:** L+N **数据库...

    mysql 入门级操作

    5. **布尔类型**:`BOOLEAN`,在MySQL中通常等同于`TINYINT(1)`。 创建数据库是MySQL操作的第一步。使用`CREATE DATABASE`语句可以创建新的数据库,例如: ```sql CREATE DATABASE my_database; ``` 接着,可以使用...

    mysql中文帮助文档

    以上是对MySQL的一些基础知识点的介绍,更详细的内容可以通过“MySQL中文参考手册”进行学习。该手册将涵盖这些概念的详细解释,以及各种操作的示例,对于初学者来说是非常宝贵的资源。在实际操作中,结合手册与实践...

    MYSQL基础复习资料(上)

    1. mysql是一种关系型数据库管理系统,广泛应用于各种web应用程序中。 2. mysql支持多种数据类型,包括整数、字符串、日期、时间等。 3. SQL语句是用于管理关系型数据库的标准语言,包括SELECT、INSERT、UPDATE、...

    Mysql建表语句转化为postgre语句

    - MySQL中的`TINYINT`在PostgreSQL中可以使用`SMALLINT`或`BOOLEAN`(如果仅用作布尔值)。 - `VARCHAR`在MySQL中没有明确的最大长度限制,但在PostgreSQL中需要指定最大长度。 - `DATE`, `TIME`, `DATETIME`在...

    10-12MySQL.zip

    MySQL支持多种数据类型,如整数(INT、TINYINT等)、浮点数(FLOAT、DOUBLE)、字符串(VARCHAR、CHAR)、日期和时间(DATE、TIME、DATETIME、TIMESTAMP)以及布尔值(BOOLEAN)。 三、索引 索引可以显著提高查询...

    mysql面试题20道精选

    包括整数(如TINYINT、INT、BIGINT)、浮点数(如FLOAT、DOUBLE)、字符串(如VARCHAR、TEXT)、日期和时间(如DATE、TIME、DATETIME、TIMESTAMP)以及布尔类型(BOOLEAN)等。 14. **如何显示MySQL中的所有表?**...

    MySql基础知识总结

    5. 布尔型(Boolean):BOOLEAN或TINYINT(1)表示。 三、SQL基础 1. SELECT语句:用于从数据库中查询数据,例如`SELECT * FROM table_name`。 2. INSERT语句:用于向表中插入新记录,例如`INSERT INTO table_name ...

    数据库Mysql基础知识总结

    - **布尔型(Boolean)**: BOOLEAN或TINYINT(1),表示逻辑值。 ### 3. 数据库基本知识 在`数据库基本知识.txt`中,涵盖了以下内容: - **创建数据库**: 使用`CREATE DATABASE`语句创建新的数据库。 - **选择...

    MySql数据类型,非常详细!

    - BOOLEAN或BOOL:等同于TINYINT(1),通常用于存储逻辑值,0表示假,非0表示真。 6. 二进制类型: - BINARY:用于存储二进制数据,长度固定。 - VARBINARY:用于存储可变长度的二进制数据,长度不固定。 7. 无...

    云平台开发技术人员MySQL数据库知识参考手册.doc

    第1章介绍了如何有效地使用MySQL的帮助系统,包括HELP命令、服务端帮助命令和快速查阅帮助的方法,这些对于日常问题解决至关重要。第2章则深入探讨了各种数据类型,如BIT、TINYINT、BOOL和BOOLEAN等数值类型,还包括...

    常用数据库MySQL教程

    - **BOOLEAN/BOOL**:实际上也是TINYINT(1),通常用于存储布尔值,其中0代表FALSE,非0值代表TRUE。 - **SMALLINT**:较小的整数类型,带符号范围为-32768到32767,无符号范围为0到65535。 - **MEDIUMINT**:中等...

Global site tag (gtag.js) - Google Analytics