今天在创建merge表时,因为在分表中增加了varchar字段,然后创建merge表后desc时就会报错:
ERROR 1016 (HY000): Can't open file: 'tbl_uin2reg_merge.MRG' (errno: 143)
根据这篇文章知道error:143是因为sub-table和mergetable的定义不一样导致的,但是为什么不加varchar字段时就没问题呢?
经过多次尝试,终于发现:!!!!!!!!!
merge表定义的末尾有指定字符集,CHARSET=utf8, 而sub-table没有指定,这样在没有varchar字段时是不生效的,但是一旦有了varchar字符集就不一样了,所以导致了merge表不可读
阅读(2187) | 评论(0) | 转发(0) |