向175W+的数据表中插入一个add_time字段赋默认值为当前时间now():
`ALTER TABLE `table`ADD COLUMN `add_time` datetime NOT NULL DEFAULT now() AFTER `sfdb`;
一段时间后报错:
Incorrect key file for table 'table'; try to repair it
导致该字段一直无法插入成功
后来发现当执行该语句时,/dev/sdb2磁盘空间一直在减小(最开始磁盘空间只有13G),磁盘空间满的同时报错Incorrect key file for table 'table'; try to repair it,报错之后/dev/sdb2的磁盘空间逐渐回复,直到正常。
~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 12G 0 12G 0% /dev
tmpfs 2.4G 18M 2.4G 1% /run
/dev/sdb2 1.8T 1.1T 622G 65% /
tmpfs 12G 156K 12G 1% /dev/shm
添加字段的这个表中有175W+数据,表大小为20多G,13G的磁盘空间显然不够,找到原因后,对/dev/sdb2中内容进行清理,腾出足够空间,再次执行上边的插入字段语句就没有再报错,顺利执行完了
本文记录了在向包含175W+条记录的表中添加带默认值的add_time字段时遇到的问题及解决方案。当磁盘空间不足时,尝试执行此操作会导致错误提示并阻止字段的成功插入。
1643

被折叠的 条评论
为什么被折叠?



