Php 无法从myisam转换为innodb
我试图将myisam表转换为innodb,因为我对myisam表的锁级别感到失望,我迫切需要解决这个问题。我尝试从phpmyadmin中选择引擎,从下拉列表中选择innodb并单击go,但我得到了这个错误。在我的表中有500万行Php 无法从myisam转换为innodb,php,mysql,innodb,myisam,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
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
请参考问题是您的主键列对于InnoDB来说太长。首先,根据您存储的数据,将此表主键列的长度更改为合理的长度。我有两个主键,一个是id,它是自动递增的,另一个是标题。我试图从主键中删除标题,但出现错误。,我运行此代码来更改主键alter table
tableA
drop primary key主键的长度设置为多少?另外,InnoDB中不能有任何TEXT
主键/索引。是的,标题列是TEXT,所以我应该将其更改为varchar?现在只有一个键是id int(10),那么我也会得到该错误