首页 > 技术文章 > mysql执行update语句报错ERROR 1194 (HY000): Table '/home/mysql/xxxx/tmp/#sql_xxxx' is marked as crashed and should be repaired

uphold 2019-08-09 01:49 原文

1、报错信息:

  ERROR 1194 (HY000): Table '/home/mysql/xxxx/tmp/#sql_xxxx' is marked as crashed and should be repaired

2、原因:

  执行的update 语句对应表中有几个字符定义的太长

  show create table 表名,发现其中有字段定义varchar(4000)

  数据往内存填充的时候溢出了导致

3、解决方法:

  set global tmp_table_size=16*1024*1024;

  设置好后再执行语句成功。

  tmp_table_size值不能改太大,并发高话会没有这么多内存可分配。

推荐阅读