今天在把一个数据库的数据导出SQL,然后在另外一个库中执行的时候出现了这个问题,报错:
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.
今天在把一个数据库的数据导出SQL,然后在另外一个库中执行的时候出现了这个问题,报错:
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.
SQL片段
经常使用DECIMAL数据类型的货币数据,如价格,工资,账户余额等。如果要设计一个处理货币数据的数据库,则可参考以下语法:
amount DECIMAL(19,2);
1.轻量配置、2.均衡配置、3.高端配置、4.极限配置
utf8与utf8mb4(utf8 most bytes 4)
在MySQL的存储过程中经常会看到这句话:DECLARE CONTINUE HANDLER FOR NOT FOUND。
它的含义是:若没有数据返回,程序继续,并将变量 IS_FOUND 设为 0 ,这种情况是出现在类似:select XX into XXX from tablename 的时候发生的。
MySQL四舍五入函数:
在MySQL中进行模糊查询的时候可以使用 instr() 函数。
instr()函数介绍
instr(s, s1),这个函数返回字符串s1在字符串s中的位置,若是找不到则返回0,找到则返回字符串s1所在位置。(返回位置从1开始)
instr()函数使用
SELECT * FROM user WHERE INSTR(username,'2')>0
碰到一个SQL的排序问题,他把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部
通过的方法就是IN语句(也可以通过IF语句)
例子1: 数字字符型 转 数字型(常用于字段排序)
SELECT CAST('9.0' AS decimal)
结果:9