【发布时间】:2013-01-08 17:58:47
【问题描述】:
假设我在 MySQL 数据库中有一堆 MyISAM 表。我知道如果我的表是 InnoDB MySQL Workbench 会自动获取表之间的关系。但是,如果我的表是 MyISAM,有没有一种方法可以选择在 MySQL Workbench 中用作外键的列,而不需要 MySQL Workbench 在我的表模式中添加列?例如,假设我在名为users 的表中有这些列:
id PRIMARY KEY
username VARCHAR (255)
password VARCHAR (255)
email VARCHAR (255)
user_type_id INT
正如您在上面看到的,user_type_id 将是来自名为user_types 的表的外键。如果我在 MySQL Workbench 中的表 users 和 user_types 之间添加多对一关系,则列 user_types_id 将自动添加到我的表 users 的架构中(因为这是 MySQL Workbench 认为的通常是外键)。我不希望这种情况发生,我希望能够告诉 MySQL Workbench 使用列 user_type_id 作为我的外键。有什么办法可以做到吗?
谢谢
注意:当我在 MySQL Workbench 的模型视图上双击一个表时,会有一个外键选项卡,但是当我这样做时,我得到以下文本:
注意:只能为某些存储引擎(如 InnoDB)定义外键。服务器接受其他存储引擎的外键定义,但默默地忽略它们。将表引擎切换到支持外键的引擎,以便在此处进行调整。
【问题讨论】:
标签: mysql mysql-workbench workbench