【问题标题】:changing the name of the primary key更改主键的名称
【发布时间】:2014-04-07 11:07:00
【问题描述】:

我的 MySQL 数据库中有 20 个表。我阅读了 Kohana 文档并了解到为了使 ORM 正常工作,表的主键应该命名为“id”。

在知道这个要求之前我已经创建了我的表,并且主键以格式 ID 命名(例如:-UsersID)。我相信,如果我更改主键的名称,那么我必须手动重置所有引用(FK),这是一项艰巨的任务。

我正在使用 Workbench,是否有任何选项可用于在我更改主键名称后自动更新引用 (FK)。

【问题讨论】:

标签: mysql kohana workbench


【解决方案1】:

如果我理解正确,你想像下面这样:

这与更改任何其他列没有什么不同 --

ALTER TABLE `pkey` CHANGE `keyfield` `keyfield2` INT(11) NOT NULL AUTO_INCREMENT 

这会将表 pkey 中的列 keyfield 更改为 keyfield2 - 您必须像往常一样在之后提供定义。

【讨论】:

    【解决方案2】:

    您还可以将 ORM 配置为使用 id 以外的字段作为模型中的主键:

    protected $_primary_key = 'your_id';
    

    使用的字段必须是索引的并且是唯一的。 (documented here)

    在将 Kohana/ORM 与现有数据库一起使用时,这通常很有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 2014-05-22
      • 2011-05-23
      • 2017-02-06
      • 2016-06-08
      相关资源
      最近更新 更多