mysql触发器应用和创建表错误代码: 1118 Row size too large. 解决

1.针对数据库查询问题的方便,可以建立重要表的log备份记录表,在主表的添加,修改,删除添加触发器,修改触发器增加触发字段的点,限制条件。

数据库log表查问题比从线上多台服务器上下载日志文件相对方便,但是两者的侧重点不同。

2.错误代码: 1118

Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

方法1:将创建表的脚本中的varchar(2000)等大字符的字段改成text数据类型

方法2:修改表的类型,将原来的DEFAULT CHARSET=utf8mb4  修改成utf8,解决问题。

时间: 2024-10-14 05:02:37

mysql触发器应用和创建表错误代码: 1118 Row size too large. 解决的相关文章

Hibernate连接mysql数据库并自动创建表

天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 所以说,Hibernate讲白了就是简化了与数据库之间的操作,那么要玩转它自然就得连接上数据库咯.(与Hibernate对应的orm框架还有Mybatis,只不过M

Discuz 使用 MySQL 8.0 无法创建表forum_forum问题

Discuz 使用 MySQL 8.0 无法创建表forum_forum 1.安装Discuz,使用MySQL8.0创建数据库时报错,提示缺少forum_forum表. 造成的原因: MySQL8.0对很多关键字保留了,需要对表名进行转意. Discuz 默认使用的是MySQL5.6的架构 2.按照以下命令修改Discuz源文件即可. sed -ri 's/ {2}([a-z0-9_]+)/ `\1`/g' install/data/install.sql uc_server/install/u

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large (> 8126)

同样是工作中遇到的问题,写下来留个纪念. 一个老系统已经跑了一年多了,最近报出这个问题的,具体问题贴出来给大家看 org.springframework.jdbc.BadSqlGrammarException: ### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large (> 8126). Changing some colum

mysql 报Row size too large 65535 原因与解决方法

报错信息:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535 向mysql的表插件一个字段 类型为text时,或修改一个字段类型为text时,报出上面的错误.其实我对这个错误的原因理解也不是很深,给出一些我查到的解释吧 大意是数据表中有一个设定长度为64K的字段索引,当表中字段(不知道是字段名字还是什么)不能超过这个长度,65,535所说明的是针对的是整个表的

mysql 主从同步故障解决   Error 'Row size too large (> 8126).

错误日志:  Error 'Row size too large (> 8126). Changing some columns to TEXT or BLOB   or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row   format, BLOB prefix of 768 bytes is stored inline.' on query. Default   database: 'XXXX

【转】mysql 触发器实现两个表的数据同步

mysql通过触发器实现两个表的同步 目前,在本地测试成功. 假设本地的两个数据库a和b,a下有表table1(id, val) b下有表table2(id, val) 假设希望当table1中数据更新,table2中数据同步更新. 代码: DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ TRIGGER `a`.`触发器名` BEFORE UPDATE ON `a`.`table1` FOR EACH ROW BEGIN I

mysql 给axel数据创建表

create table point( id int primary key auto_increment ,point_x double, point_y double, boundry bool ); 一.sql语句 1.操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification:    [DEFA

MYSQL,触发器,实现多个表共用ID不重复

参考:https://my.oschina.net/jiuxiaoyao/blog/839266 MYSQL 没有sequence SET @@auto_increment_offsetSET @@auto_increment_increment 也只能在当前查询有效.所以这也是权宜之计 DROP TRIGGER IF EXISTS `InsertUser`; create trigger InsertUser before insert on userinfo for each row Beg

mysql根据查询结果创建表

现在假设存在三张表 s(sno,sname.sex,age,dept)              //sno代表学生的学号 , sname代表学生姓名   , sex代表性别 ,age代表年龄,dept代表系 c(cno,cname,tname)                             //cno课程号 ,cname课程名 , tname老师名字 sc(sno,cno,grade)                                     //sno学号,cno课程