https://blog.csdn.net/robinson_0612/article/details/82824320 在MySQL关系型数据库中,MySQL支持的数据类型非常丰富。...而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍字符类型,并演示其用法。...--------+ | Leshami | | http://blog.csdn.net/leshami | +------------------------------+ -- 创建表,包含2种数据类型的列...ab后的空格被截断 mysql> SELECT CONCAT('(', v, ')'), -> CONCAT('(', c, ')') FROM vc; +------------------...> INSERT INTO tb5(status) -> VALUES ('a,b'); ERROR 1265 (01000): Data truncated for column 'status
;问题到这里也就开始有思路了,接下去开始排查sql_mode配置、查询相应的完整行记录给开发确认,最终确认是DDL变更导致字段被截断,最后只能通过备份进行恢复,问题最终得到解决。...案例复现 看完刚刚的排查过程,相信很多童鞋都会有疑问,为什么修改字段长度对导致数据被截断?MySQL难道不会不会做数据校验吗?让我们接着往下看。...直接报错“数据被截断”;场景2是执行成功,导致“数据部分丢失”;那么,MySQL是没有进行数据校验吗?...其实MySQL都有对数据进行校验的,只是在场景2中,因为sql_mode配置有问题,没有设置STRICT_TRANS_TABLES,导致MySQL没有阻止该操作执行,从而导致“数据丢失”惨案。...总结 至此,“数据丢失”惨案也就可以告一段落,根本原因是sql_mode没有设置STRICT_TRANS_TABLES;这个案例也是在提醒我们,sql_mode是一个非常关键的配置,千万不可随便设置和修改
,没有在枚举类型值域列表中出现,则会出现SQL语法错误,导致SQL语句执行失败。...| 6000001 | | dalian | +———+————-+———-+ 1 row in set (0.00 sec) 小结: 对于枚举类型字段中已存储某枚举元素的数据...,再删除枚举类型ENUM字段值域列表中某个枚举值,则会出现: 存在多少条要删除的枚举值记录数,就会产生多少条警告信息(注:警告信息最大值65535条); 被删除枚举值对应的字段的记录值,会发生截断,并且用空字符串值填充...,即使符合MySQL数据库使用索引条件要求的SQL语句,也无索引信息可用,也即MySQL数据库枚举类型字段值域列表中的存储序列编号,无法做到替代索引的作用,也即依然需要显式创建数据库索引,加速数据查找速度...,会导致数据库表存储的数据出现错乱对照关系,以及需要锁表等操作; 删除枚举类型字段的枚举数据值域列表中,某个枚举元素值,会导致数据库表已存储的数据行出现截断,以及需要锁表等操作; 枚举类型字段内部的枚举数据与存储序号之间的对照关系
1.标准的SQL语句 DML(Data Manipulation Language,数据操作语言) 语句:主要由select、insert、update和 delete 四个关键字完成。...ERROR 1265 (01000): Data truncated for column 'Ssex' at row 1 上面提示,需要truncate data,由于之前插入的数据不符合要求,所以必须先...,'1'); Query OK, 1 row affected (0.18 sec) 此时,再次插入错误数据,就会提示不满足列要求。...,用来设置当主键表中的被参考列的数据发生变化时,外键表中响应字段的变换规则的。...而on update只能删除子表外键数据,不能删除父表主键数据,只能更新父表的主键,同时父子表数据都会被更新,但是在子表的外键上做更新操作无效。
,处理程序定义了在遇到问题时应当采取的处理方式,并且保证存储过程中遇到警告或错误时能继续执行下去。...characteristic:表示要修改存储过程的哪个部分。 CONTAINS SQL:表示子程序包含SQL语句,但不包含读或写数据的语句。 NO SQL:表示子程序中不包含SQL语句。...READS SQL DATA:表示子程序中包含读数据的语句。 MODIFIES SQL DATA:表示子程序中包含写数据的语句。...ALTER PROCEDURE ContProc1 MODIFIES SQL DATA SQL SECURITY INVOKER; 目前,MySQL还不提供对已存在的数据存储的代码修改,如果一定要修改存储过程代码...该警告可以使用SHOW WARNINGS进行查询。
mysqli_fetch_fields() 返回结果中代表字段的对象的数组。 mysqli_fetch_lengths() 返回结果集中当前行的每个列的长度。...mysqli_field_count() 返回最近查询的列数。 mysqli_field_seek() 把结果集中的指针设置为指定字段的偏移量。...mysqli_ping() 进行一个服务器连接,如果连接已断开则尝试重新连接。 mysqli_prepare() 准备执行一个 SQL 语句。...mysqli_sqlstate() 返回最后一个 MySQL 操作的 SQLSTATE 错误代码。 mysqli_ssl_set() 用于创建 SSL 安全连接。...mysqli_warning_count() 返回连接中的最后一个查询的警告数量。
新建一个SQL作业,语句手动执行OK,但是作业计划执行总是报错。 消息 已以用户 NT SERVICE\SQLSERVERAGENT 的身份执行。...[SQLSTATE 42000] (错误 7399) 无法初始化链接服务器“172.16.10.23”的 OLE DB 访问接口“SQLNCLI11”的数据源对象。...[SQLSTATE 42000] (错误 7303) 链接服务器"172.16.10.23"的 OLE DB 访问接口 "SQLNCLI11" 返回了消息 "无效的授权说明"。...[SQLSTATE 01000] (错误 7412). 该步骤失败。 ?...原因为未设定登录验证信息,解决方案为: 打开链接服务器属性,转到安全性,添加sa账号的登录映射,或者在下方填写默认的登录账号信息(如图),重新执行作业成功。 ?
中的列,没有在GROUP BY中出现,那么将认为这个SQL是不合法的,因为列不在GROUP BY从句中 STRICT_TRANS_TABLES 如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做任何限制...对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。...对于本文开头中提到的错误,可以先把sql_mode设置为ANSI模式,这样便可以插入数据,而对于除数为0的结果的字段值,数据库将会用NULL值代替。...TRADITIONAL 严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误,而不仅仅是警告。用于事物时,会进行事物的回滚。...对于非事务表,如果值出现在单行语句或多行语句的第1行,则放弃该语句。
问题描述: 数据库 插入数据时,报错 [Err] 22001 - [SQL Server]将截断字符串或二进制数据。 01000 - [SQL Server]语句已终止。...问题原因: 添加的字符串长度,超过设置的varchar长度 问题处理: 减字符串长度 , 或 增 varchar长度 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
1051:数据表不存在 1054:字段不存在 1065:无效的SQL语句,SQL语句为空 1081:不能建立Socket连接 1114:数据表已满,不能容纳任何记录 1116:打开的数据表太多...错误:1261 SQLSTATE: 01000 (ER_WARN_TOO_FEW_RECORDS) 消息:行%ld不包含所有列的数据。...错误:1262 SQLSTATE: 01000 (ER_WARN_TOO_MANY_RECORDS) 消息:行%ld被解短,它包含的数据大于输入列中的数据。...错误:1265 SQLSTATE: 01000 (WARN_DATA_TRUNCATED) 消息:为行%ld上的列’%s’截短数据。...错误:1417 SQLSTATE: HY000 (ER_FAILED_ROUTINE_BREAK_BINLOG) 消息:1个子程序失败,在其声明没有NO SQL或READS SQL DATA,而且二进制日志功能已启用
修改语言时区 修改 config/app.php,将 local 的值 en 改成 zh-CN(laravel-admin 自带 zh-CN): 1 2 3 4 # 时区 'timezone' => '...Asia/Shanghai', # 语言 'locale' => 'zh-CN', 配置数据库 首先确保安装好了 laravel,并且数据库连接设置正确。...然后运行下面的命令完成安装: 1 php artisan admin:install 运行这个命令的时候,如果遇到了下面的错误: SQLSTATE[42000]: Syntax error or access...然后运行下面的命令来发布资源: 1 php artisan admin:publish 在该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改...事件允许你在一个指定模型类每次保存或更新的时候执行代码。 retrieved 事件会在从数据库中获取已存在模型时触发。当一个新模型被首次保存的时候,creating 和 created 事件会被触发。
今天在执行开发发过来的工单的时候,source批量导入执行时候发现报了很多警告 提示 truncate for column xxxxx 。...导入完成后,使用select查询后,发现大量数据未成功插入。 后来发现是enum字段没有加引号搞的鬼。 结论: enum的字段,在插入的时候,必须带上引号。否则会出现不可预期的问题。...如果不带引号插入的话,实际上是插入的key(如上面的例子中 INSERT INTO t1 (b) VALUES (4),插入的是b列第四个default值,也就是取enum('4','3','2','1...INSERT INTO t1 (b) VALUES (5); (1265, u"Data truncated for column 'b' at row 1") 可以看到严格的sql_mode下,我们的异常插入就直接报错了...当我插入一条数据,此字段的值位a或b或c时,他存储在里面的不是这个字符,而是对应他的索引,也就是那个0000或0001或0002。
此外,它还可以用于与其他遵循SQL标准的数据库系统进行交互和错误处理。...开发者可以根据自己的需求选择使用哪种方式来表示和处理错误。 常见的错误码 1005:创建表失败。 1006:创建数据库失败。 1007:数据库已存在,创建数据库失败。...1049:数据库不存在。 1050:数据表已存在。 1051:数据表不存在。 1054:字段不存在。 1062:字段值重复,入库失败。 1130:连接数据库失败,没有连接数据库的权限。...sqlstate_value:一个五位数的SQLSTATE代码,用于表示SQL标准的错误或警告类型。...方法4:使用SQLWARNING DECLARE EXIT HANDLER FOR SQLWARNING SET @info = 'ERROR'; 这里定义了一个处理程序,它会在任何SQL警告(即SQLSTATE
2 错误代码及说明 SQLCode SQLState 状态说明 000 00000 SQL语句成功完成 01xxx XXX SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用...成功完成 +494 01614 由存储过程返回的结果集的个数超过了由ASSOCIATE LOCATORS语句指定的结果集定位器的个数 +495 01616 因为倒台SQL的成本估算超出了在ELST中指定的警告阀值...-571 25000 不允许多点更新 -573 42890 不能定义参照约束,因为已指定的父表中在指定的列上没有唯一健 -574 42864 指定的缺省与列定义冲突 -577 38002 试图修改用户自定义函数中的数据或者存储过程中的数据...,因此已设定的函数将不能再被更改 -740 51034 在这种方式下不能用MODIELES SQL DATA定义指定的函数 -741 55030 已经为命名的共享组成员的数据定义了工作文件数据库 -742...53004 DSNDB07是隐含的工作文件数据库 -746 57053 在特定的触发器、存储过程或函数中的SQL语句违反嵌套SQL限制 -747 57054 指定的表是不可用的除非为LOB数据列建立起必须的辅助表
数值类型 MySQL支持所有标准SQL数值数据类型。...CHAR列的长度固定为创建表是声明的长度,范围(0-255);而VARCHAR的值是可变长字符串范围(0-65535)。 ? ?...这说明它们没有字符集,并且排序和比较基于列值字节的数值值。 BLOB 是一个二进制大对象,可以容纳可变数量的数据。...); ERROR 1265 (01000): Data truncated for column 'gender' at row 1 mysql> create table t11 (name char..., mysql> insert into t11 values ('alex','烫头,翻车,看妹子'); ERROR 1265 (01000): Data truncated for column '
affected, 1 warning (0.01 sec) mysql> show warnings; # 查看warning信息,提示z列有截断的数据 +-------+--...上述插入的数据,基本可以对应SQL语句来看出来其规律,唯一需要解释的,应该就是“82:02:00”,对应的插入值是“3 10:2”,最中写入表中的时间是3天(3 X 24)+10小时,零2分钟,也就是82...),(50,4); ERROR 1265 (01000): Data truncated for column 'level' at row 1 查看最终表中的值(只有第一个语句插入的值): ?...('d,g,s'); ERROR 1265 (01000): Data truncated for column 's' at row 1 查看表中的顺序,发现已经把值去重并且将顺序排列好了,如下:...(22001): Data too long for column 'b' at row 3 查看表中最终插入的数据(二进制类型的值,需要用以下语句查看,可以看到,只有第一条sql语句成功插入了):
· SQLSTATE值列在share/errmsg.txt文件中,用于生成include/sql_state.h MySQL源文件中的定义。...· 错误:1087 SQLSTATE: HY000 (ER_LOAD_INFO) 消息:记录,%ld;已删除,%ld;已跳过,%ld;警告,%ld · 错误:1088 SQLSTATE: HY000...· 错误:1261 SQLSTATE: 01000 (ER_WARN_TOO_FEW_RECORDS) 消息:行%ld不包含所有列的数据。...· 错误:1262 SQLSTATE: 01000 (ER_WARN_TOO_MANY_RECORDS) 消息:行%ld被解短,它包含的数据大于输入列中的数据。...· 错误:1265 SQLSTATE: 01000 (WARN_DATA_TRUNCATED) 消息:为行%ld上的列'%s'截短数据。
起因 今天安装laravel-admin的时候遇到了个SQL错误,大概就是下面这样: SQLSTATE[42000]: Syntax error or access violation: 1071...Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique...`(`email`)) 经过 然后吧,我就慌了,我个萌新也不知道肿么办啊,好在官方的issue给出了解决办法,大概就是这样式的。...结果 结果还是报错,正当我暴跳如雷的时候,突然看见了错误的原因,好嘛,原来是数据表已存在啊,直接去数据库把所有数据表都删掉。...完美解决~ 如无特殊说明《关于laravel-admin安装时的错误》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-161.html
SQLSTATE 类代码 类代码 含义 要获得子代码,参阅…00 完全成功完成 表 301 警告 表 402 无数据 表 507 动态 SQL 错误 表 608 连接异常 表 709 触发操作异常 表...类代码 01:警告 SQLSTATE 值 含义01002 发生 DISCONNECT 错误。01003 从列函数的参数消去 NULL 值。...01655 成功创建了事件监视器,但是至少有一个事件监视器目标表已存在。01657 缓冲池操作在下一次数据库重新启动之后才会生效。01665 列名或参数名被截断。...01H51 “MQSeries 应用程序消息传递接口”消息被截断。01H52 例程的执行已完成,但是执行期间至少遇到了一个错误或警告。提供了更多信息。01H53 例程遇到了警告。...类代码22:数据异常 SQLSTATE 值 含义22001 字符数据,发生右截断;例如,更新或插入值对于列来说太长(字符串),或者日期时间值由于太小而不能赋给主机变量。
领取专属 10元无门槛券
手把手带您无忧上云