我已经创建了测试表
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tree` longtext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
尝试将树字段设置为 50000000 字节长度的字符串的 UPDATE 语句失败并出现神秘
ERROR 3 (HY000): Error writing file '/cloudsqltmp/MLqNKI9H' (Errcode: 5)
错误。可以使用以下 Ruby 命令来生成我使用的 UPDATE 语句
ruby -e "puts \"UPDATE test SET tree = '#{'x'*50_000_000}' WHERE id = 1;\""
最佳答案
无法写入临时文件时会出现此错误。 Cloud SQL 的临时文件大小有限。但 50000000 字节 = ~ 50mb 应该远小于该大小限制。
我还注意到您使用的是MyISAM,是否可以使用InnoDB,看看问题是否仍然存在?
关于mysql - Google Cloud SQL 在大型更新时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30400007/