【问题标题】:How to reference foreign key in mysql at phpmyadmin如何在 phpmyadmin 中引用 mysql 中的外键
【发布时间】:2018-05-19 18:02:50
【问题描述】:

我在 phpmyadmin 中使用 mysql。我创建了两个表。

company (
company_id INT PRIMARY KEY,
company_name VARCHAR(20) 
);

users (
user_id INT PRIMARY KEY,
user_first_name VARCHAR(20) ,
user_last_name VARCHAR(20),
user_type VARCHAR(10),
user_email VARCHAR(40)
);

现在我想声明对用户(user_id)的外键公司(公司)引用。 SO 公司将同时是主键和外键。我该怎么做?

【问题讨论】:

  • 请记住,姓名可以很多超过 20 个字符,而电子邮件地址通常 > 40 个字符。使用VARCHAR(255) 作为默认值,除非您有非常令人信服的理由使用更短的名称。
  • 某物可以是自己表的主键,也可以是另一个表的外键。这其实很正常。
  • 感谢@tadman 的意见。但是如何在 phpmyadmin 中引用外键?
  • phpMyAdmin 只是一个数据库客户端,它不是数据库,所以尽量避免将该工具与 MySQL 本身混淆。这一切都在MySQL documentation 中介绍。如果您可以直接连接到数据库,您可能会发现MySQL Workbench 客户端要好得多。

标签: mysql sql phpmyadmin


【解决方案1】:

ALTER TABLE company ADD CONSTRAINT company_id_fk FOREIGN KEY (company_id) 引用 users(user_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

【讨论】:

    【解决方案2】:

    您希望将以下内容添加到 users 表中:

    FOREIGN KEY (company) REFERENCES company(company_id)
    

    这将在该表中创建一个名为company 的新键,它引用company 表的company_id

    【讨论】:

    • 我进入关系视图并做了这个 ALTER TABLE company ADD CONSTRAINT company_id_fk FOREIGN KEY (company_id) REFERENCES company(company_id) ON DELETE RESTRICT ON UPDATE RESTRICT;对吗?
    猜你喜欢
    • 2014-01-09
    • 2020-07-10
    • 2013-09-07
    • 2015-01-18
    • 2014-12-03
    • 2016-10-03
    • 2011-06-11
    • 1970-01-01
    • 2018-09-10
    相关资源
    最近更新 更多