【问题标题】:MySQL table with a primary key, and two other keys. Trouble copying schema to existing table with dataMySQL 表具有一个主键和两个其他键。无法将架构复制到包含数据的现有表
【发布时间】:2012-09-09 21:38:32
【问题描述】:

我正在将较新版本的 ISPConfig 中的空表架构复制到较旧版本的数据库中。在较新的版本中,有两个键和一个主键。这是包含数据的表中缺少的第二个键。如您所见,它显示“MUL”,表示它是非唯一键:

*************************** 10. row ***************************  
  Field: type  
   Type: enum('alias','aliasdomain','forward','catchall')  
   Null: NO  
    Key: MUL  
Default: alias  
  Extra:  

在另一张有数据的表上,缺少 MUL:

*************************** 10. row ***************************  
  Field: type  
   Type: enum('alias','aliasdomain','forward','catchall')  
   Null: NO  
    Key:  
Default: alias  
  Extra:  

有什么方法可以在不丢失数据的情况下将“MUL”添加到“类型”列?

【问题讨论】:

    标签: mysql database key primary-key


    【解决方案1】:

    使用SHOW CREATE TABLE tablename 查看每个表中的所有索引。然后使用ALTER TABLE oldtable ADD INDEX ... 将缺少的索引添加到旧表中。

    【讨论】:

      【解决方案2】:

      您可以使用ALTER TABLEDROP KEY 删除一个索引,然后使用ADD KEY 添加另一个索引。

      重建(新)索引可能需要一些时间,但不会影响数据库中的数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-27
        • 2014-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多