无法从myisam转换为innodb

时间:2014-04-05 11:22:02

标签: php mysql innodb myisam

我试图将myisam表转换为innodb,因为我对myisam表级锁定感到沮丧,我迫切需要解决这个问题。我尝试从phpmyadmin并选择引擎从下拉到innodb并点击go但我收到此错误。在我的表中有500万行。

   SQL query: Edit Edit

     ALTER TABLE `tableA`
       ENGINE = InnoDB;

    MySQL said: Documentation
    #1071 - Specified key was too long; max key length is 767 bytes 

有什么方法可以通过一次选择100行来转换表格,这样如果我运行该代码/脚本几次,整个表格将被转换为innodb。

请指导

1 个答案:

答案 0 :(得分:0)

问题是InnoDB的主键列太长了。首先根据您存储的数据将此表的主键列的长度更改为合理的值。