`
啸笑天
  • 浏览: 3465885 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

MySQL boolean tinyint(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)

 

 

 

===============================
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 |
+------+
=================

分享到:
评论
1 楼 Coffee_Arthur 2011-04-12  

相关推荐

    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之外的其他数值,则在转换前应先进行数据清理或转换,以...

    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数据库知识手册

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

    MySql于Java数据类型对应列表

    ### MySQL与Java数据类型对应详解 #### 概述 在进行数据库操作时,尤其是在使用Java进行MySQL数据库开发的过程中,正确地映射数据类型是至关重要的一步。本文将详细介绍MySQL中的各种数据类型及其在Java中的对应...

    mysql 入门级操作

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

    mysql中文帮助文档

    1. **基础概念** - **SQL**:结构化查询语言,是用于管理关系数据库的标准语言,包括数据查询、数据操纵、数据定义和数据控制等部分。 - **数据库**:存储数据的系统,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`在...

    MYSQL常见问题及解答

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

    mysql面试题20道精选

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

    MySql数据类型,非常详细!

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

    数据库Mysql基础知识总结

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

    10-12MySQL.zip

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

    MySql基础知识总结

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

    MySQL中文参考手册

    例如,如果字段只需要存储是/否这样的信息,可以考虑使用`BOOLEAN`或`TINYINT(1)`。 - **字符集的设置**:为了支持中文等多语言环境,可以在创建数据库或表时指定字符集。例如,在创建数据库时使用`CREATE DATABASE ...

    MYSQL经典基础教程.ppt

    BOOL或BOOLEAN类型实际上是TINYINT的别名,用于表示逻辑值。位类型BIT(M)可以存储M位的二进制数据。 在实践中,了解并熟练掌握这些基础知识是成为合格的MySQL用户的关键。通过本教程的学习,你可以开始创建自己的...

Global site tag (gtag.js) - Google Analytics