<!-- [if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!-- [if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<!-- [if gte mso 10]>
<mce:style><!--
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
-->
<!-- [endif]-->
MySQL5
中varchar
字段最大长度
很早就了解MySQL5
中的varchar
字段可以大于255
个字节,仔细读了一下MySQL5
的文档,其中对varchar
字段类型描述:varchar(m)
变长字符串。M
表示最大列长度。M
的范围是0
到65,535
。(VARCHAR
的最大实际长度由最长的行的大小和使用的字符集确定,最大有效
长度是65,532
字节)。
MySQL
5.1
遵从标准SQL
规范,并且不删除VARCHAR
值的尾部空格。VARCHAR
保存时用一个字节或两个字节长的前缀+
数据。如果VARCHAR
列声明的长度大于255
,长度前缀是两个字节。
注:测试了一下使用UTF8
编码,varchar
的最大长度为21854
字节。
mysql
中
varchar
字段长度超过限制长度自动截取的问题
mysql
手册的说明:
如果分配给CHAR
或VARCHAR
列的值超过列的最大长度,则对值进行裁剪以使其适合。如果被裁掉的字符不是空格,则会产生一条警告。如果裁剪非空格字符,则会造成错误(
而不是警告)
并通过使用严格SQL
模式禁用值的插入。
MySQL
服务器模式说明:
MySQL
服务器可以以不同的SQL
模式来操作,并且可以为不同客户端应用不同模式。这样每个应用程序可以根据自己的需求来定制服务器的操作模式。
模式定义MySQL
应支持哪些SQL
语法,以及应执行哪种数据验证检查。这样可以更容易地在不同的环境中使用MySQL
,并结合其它数据库服务器使用MySQL
。
你可以用--sql-mode="modes
"
选项启动mysqld
来
设置默认SQL
模式。如果你想要重设,该值还可以为空(--sql-mode
="")
。
你还可以在启动后用SET [SESSION|GLOBAL] sql_mode='modes
'
语句设置sql_mode
变量来更改SQL
模式。设置 GLOBAL
变量时需要拥有SUPER
权限,并且会影响从那时起连接的所有客户端的操作。设置SESSION
变量只影响当前的客户端。任何客户端可以随时更改自己的会话 sql_mode
值。
Modes
is
是用逗号(‘
,’)
间隔开的一系列不同的模式。你可以用SELECT @@sql_mode
语句查询当前的模式。默认值是空(
没有设置任何模式)
。
主要重要sql_mode
值为:
· ANSI
更改语法和行为,使其更符合标准SQL
。
· STRICT_TRANS_TABLES
如果不能将给定的值插入到事务表中,则放弃该语句。对于非事务表,如果值出现在单行语句或多行语句的第1
行,则放弃该语句。本节后面给出了更详细的描述。
· TRADITIONAL
Make MySQL
的行为象“
传统”SQL
数据库系统。该模式的简单描述是当在列中插入不正确的值时“
给出错误而不是警告”
。注
释:一旦发现错误立即放弃INSERT/UPDATE
。如果你使用非事务存储引擎,这种方式不是你想要的,因为出现错误前进行的数据更改不会“
滚动”
,结果是更新“
只进行了一部分”
。
本手册指“
严格模式”
,表示至少STRICT
_TRANS_TABLES
或STRICT _ALL_TABLES
被启用的模式。
分享到:
相关推荐
主要介绍了Mysql中varchar长度设置方法的相关资料,本文还给大家带来了valar类型的变化及char()和varchar()的区别介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
在本篇文章中我们给大家分享了关于MySQL中int、char以及varchar的性能对比的相关内容,有兴趣的朋友们学习下。
char和varchar在mysql中的效率怎样.docx
主要介绍了MySQL动态修改varchar长度的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
下面接着看下oracle中varchar类型的日期格式转换date类型 oracle中varchar类型的日期格式转换date类型 SELECT to_char(to_date(m.ma_datetime,'yyyy-MM-dd hh24:mi:ss'), 'yyyyMMdd') FROM my_task m; m.ma_datet
char是一种固定长度的类型,varchar则是一种可变长度的类型,那么他们具体使用过程中有什么区别吗
详细介绍了MySQL数据类型varchar,探讨varchar到底能存多长的数据、InnoDB和MyISAM中的varchar等问题,需要的朋友可以参考下
CHAR和VARCHAR类型相似,差别主要在存储,尾随空格和检索方式上。 CHAR和VARCHAR相同的是:CHAR和VARCHAR都指定了字符长度,注意是字符长度。例如char(30) 和 varchar(30)表示都可以存30个字符。有一点要注意的是在...
介绍mysql不同的存储引擎 以及 索引技术在mysql中的应用
3、在数据量少的时候可以使用sum()函数直接求和,因为MySQL中它可以自动识别是字符串类型还是数字类型。 4、以上适用于整数,或者是数据量小,要是数据量太大,并且精度较高不适用,那么就可以考虑使用MySQL 的CAST...
如果被 varchar 超过上述的 b 规则,被强转成 text 类型,则每个字段占用定义长度为 11 字节,当然这已经不是 varchar 了
主要介绍了mysql如何处理varchar与nvarchar类型中的特殊字符,需要的朋友可以参考下
commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题。 1、varchar(5)可以存储多少个汉字,多少个...
MySQL数据库的varchar类型在5.0.3以下的版本中的最大长度限制为255,其数据范围可以是0~255
在MySQL中,char、varchar和text类型的字段都可以用来存储字符类型的数据,char、varchar都可以指定最大的字符长度,但text不可以。 它们的存储方式和数据的检索方式也都不一样。 数据的检索效率是:char > varchar ...