`
fire9
  • 浏览: 16015 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于MySQL一个CHAR类型问题

阅读更多
今天接到一个同事的问题,需要修改某表的一个字段,需要把VARCHAR(15)改成CHAR(15)类型,但是修改不成功,软件版本是MySQL 4.0.27。首先,我第一个想法是不可能!就用我的本本上的MySQL4.1测试了一下,果然是不行,即使你建立新的表结果指定了CHAR类型还是无济于事。(这种情况在MySQL5.0上是不会发生的)后来我查了MySQL4.1的手册才明白,由于MySQL在存储数据方面设计,如果表内含有两个以上的变长字段(例如VARCHAR,TEXT,BLOB),CHAR类型会自动转成VARCHAR类型(当长度小于4个字节的时候不会改变)这里的操作是隐式操作的。之所以这么做,想必MySQL是为了节约存储空间提高执行效率吧。
2
1
分享到:
评论
1 楼 hifun 2008-08-09  
为什么会
需要把VARCHAR(15)改成CHAR(15)类型
呢?

不懂。这两个字段的区别很大吗?
就是一个是变长的,一个是固定长度的区别吧?
这个不也可以用别的方法来检查限制的么。
真的搞不懂。

相关推荐

    mysql实现char类型主键自增长

    为了实现CHAR类型的自增长,我们可以借助MySQL的触发器机制,在每次插入新记录前动态生成一个新的、唯一的主键值。 ### 实现步骤详解 #### 步骤1:创建表结构 首先,我们需要创建一个包含CHAR类型主键字段的表。...

    对比MySQL中int、char以及varchar的性能

    然而,varchar由于其变长特性,每个值会额外存储一个字节来记录字符串长度,这可能导致轻微的性能下降。尽管如此,这个差异在大多数情况下可以忽略不计。 在数据运算和比较操作中,整数类型的优势更为明显,因为...

    mysql中插入多text类型问题

    Mysql 中插入多 text 类型问题解决方案 ...通过修改 MySQL 的配置文件和表的行格式,我们可以解决 MySQL 中插入多个 text 类型字段的问题。同时,我们也可以根据实际情况选择合适的行格式来存储数据。

    Java数据类型和MySql数据类型对应一览

    在 MySql 中,字符串类型对应的是 VARCHAR、NVARCHAR、CHAR、NCHAR 等类型。其中,VARCHAR 类型用于存储可变长度的字符串,NVARCHAR 类型用于存储 Unicode 字符串,CHAR 类型用于存储固定长度的字符串,NCHAR 类型...

    mysql修改自增长主键int类型为char类型示例

    在MySQL数据库中,主键是表的一个重要组成部分,它用于唯一标识每条记录,并且通常设置为自动增长的整数类型,如INT。然而,在某些业务场景中,可能需要将已有的自增长主键INT类型改为CHAR类型。这通常发生在需要更...

    MySql于Java数据类型对应列表

    ### MySQL与Java数据类型对应详解 #### 概述 在进行数据库操作时,尤其是在使用Java进行MySQL数据库开发的...此外,了解这些类型的映射关系也有助于避免因类型转换问题导致的错误,确保应用程序能够高效稳定地运行。

    char和varchar在mysql中的效率怎样.docx

    相反,`VARCHAR`是可变长度的数据类型,它只存储实际使用的字节数加上一个额外的字节来记录字符串长度。这使得`VARCHAR`在存储较短字符串时更加节省空间,但可能会导致行的不均匀长度,增加了数据存储的碎片化。在...

    mysql数据类型转换

    `CONVERT`函数的基本语法是`CONVERT(表达式, 目标类型)`,这里的“目标类型”通常是一个关键词,表示转换的目标数据类型。 - 示例:将字符串'123'转换为整型 ```sql SELECT CONVERT('123', SIGNED); ``` #### ...

    Java中数据类型和MYSQL中数据类型的对比

    3. 字符串类型:MySQL 的字符串类型主要包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET。CHAR 和 VARCHAR 用于存储非二进制文本,其中 VARCHAR 更适合存储可变长度的字符串。BINARY 和 VARBINARY ...

    Java数据类型和MySql数据类型对应表

    Java 数据类型和 MySql 数据类型对应表 在 Java 编程中,了解 Java 数据类型和 MySql 数据类型的对应关系非常重要。这是因为在 Java 应用程序中,我们经常需要与数据库进行交互,而 MySql 是一种常用的关系数据库...

    MySQL所有数据类型.pdf

    MySQL 数据类型详解 MySQL 数据类型是指在 MySQL 数据库中存储数据的方式,它决定了数据的存储格式、大小和范围。了解 MySQL 数据类型非常重要,因为它直接影响数据库的性能、可维护性和安全性。本篇文章将详细介绍...

    mysql问题,常见的mysql面试问题

    - **VARCHAR**:变长字符串类型,根据实际存储字符数量占用空间,额外存储一个或两个字节表示字符串的实际长度。 - **UTF-8编码下VARCHAR最大长度**: - 在UTF-8编码下,每个字符最多占用3个字节,因此`VARCHAR`的...

    MySQL字段类型说明

    * CHAR(M):一个固定长度的字符串类型,长度是 M。 * VARCHAR(M):一个可变长度的字符串类型,最大长度是 M。 * TEXT:一个长文本类型。 * ENUM:一个枚举类型,允许在一个集合中选择一个值。 * SET:一个集合类型,...

    MySQL中VARCHAR与CHAR格式数据的区别

    例如,如果你定义了一个CHAR(4)的列,即使你只插入了一个字符,系统也会自动填充剩余的空间,通常是用空格填充,直到达到4个字符的长度。这种特性使得CHAR类型在处理速度上可能稍快,因为它在内存中始终占据相同的...

    mysql基本数据类型总结

    MySQL数据库系统支持多种数据类型,这些数据类型用于定义表中的列,以存储各种不同类型的值。以下是对MySQL基本数据类型的详细说明: 1. 数值类型: - TINYINT:占用1字节,可存储整数,有符号范围是-128到127,无...

    MySQL数据类型全掌握

    MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了丰富的数据类型来满足不同场景的需求。本文将详细介绍MySQL中的主要数据类型,并通过与Oracle数据类型的对比,帮助读者更好地理解和应用这些类型。 #### ...

    MySQL数据类型

    NULL 表示数据列可包含 NULL 值,NOT NULL 表示数据列不允许包含 NULL 值,DEFAULT 表示默认值,PRIMARY KEY 表示主键,AUTO_INCREMENT 表示自动递增,UNSIGNED 表示无符号,CHARACTER SET name 表示指定一个字符集...

    MySQL中CHAR和VARCHAR类型演变和详解

    相比之下,VARCHAR类型是可变长度的,只存储实际使用的字符数,再加上一个或两个字节(取决于列长度)来记录字符串长度。VARCHAR更适合存储长度变化较大的字符串,因为它能节省存储空间,尤其是当大多数值都小于列...

    mysql数据类型

    MySQL 中的定点型包括 decimal(m,d) 一种,decimal(m,d) 中的 m 表示总个数,d 表示小数位。例如,decimal(5,3) 表示总共 5 位,其中 3 位为小数位。定点型和浮点型的区别在于,浮点型存储的是近似值,而定点型存储...

    Mysql、orcale 中的数据类型与java中的数据类型对应表.pdf

    Mysql、Oracle 中的数据类型与 Java 中的数据类型对应表 MySQL 和 Oracle 是两种常用的关系型数据库管理系统,而 Java 是一种广泛应用于企业级应用开发的编程语言。在数据库应用开发中,理解数据类型的对应关系...

Global site tag (gtag.js) - Google Analytics