如何在phpmyadmin中创建外键

How to create a foreign key in phpmyadmin

我想让 doctorid 成为我患者的外键 table。

所以我创建了所有 tables - 主要问题是当我转到 table > 结构 > 关系视图时,只有主键出现,我可以创建一个外键(它已经是我要保留的某个 table 的主键 - 即患者 table 患者可以更改但医生 ID - 我有一个医生 table 也- 未启用)。

我有另一个 table,在关系视图中有两个复合键(medicineid 和 patientid),它使我能够更改两者

我是否必须将患者 table 中的医生 ID 索引更改为其他内容?两者都不能是主键,因为患者 ID 是患者的主键 table - 医生是外国人。

希望大家帮帮忙

亲切的问候

你可以用老式的方式来做...用一个看起来像这样的 SQL 语句

ALTER TABLE table_1_name
    ADD CONSTRAINT fk_foreign_key_name
    FOREIGN KEY (table_1_column_name)
    REFERENCES target_table(target_table_column_name);

例如: 如果您有 books table 和 created_by 列,它指的是 users 中的 id 列 table:

ALTER TABLE books
    ADD CONSTRAINT books_FK_1
    FOREIGN KEY (created_by)
    REFERENCES users(id);

这假设密钥已经存在于相关 table

键必须被索引才能应用外键约束。为此,请按照以下步骤操作。

  1. 打开table结构。 (第二个标签)
  2. 查看最后一列操作,其中有多个操作选项。单击 索引,这将使该列编入索引。
  3. 打开关系视图并添加外键约束。

您现在可以将 DOCTOR_ID 指定为外国人。

创建 categories table:

CREATE TABLE categories(
    cat_id int not null auto_increment primary key,
    cat_name varchar(255) not null,
    cat_description text
) ENGINE=InnoDB;

创建一个 products table 并引用 categories table:

CREATE TABLE products(
   prd_id int not null auto_increment primary key,
   prd_name varchar(355) not null,
   prd_price decimal,
   cat_id int not null,
   FOREIGN KEY fk_cat(cat_id)
   REFERENCES categories(cat_id)
   ON UPDATE CASCADE
   ON DELETE RESTRICT
)ENGINE=InnoDB;

创建vendorstable并修改productstable:

CREATE TABLE vendors(
    vdr_id int not null auto_increment primary key,
    vdr_name varchar(255)
)ENGINE=InnoDB;
 
ALTER TABLE products 
ADD COLUMN vdr_id int not null AFTER cat_id;

要将外键(引用 vendors table)添加到 products table,请使用以下语句:

ALTER TABLE products
ADD FOREIGN KEY fk_vendor(vdr_id)
REFERENCES vendors(vdr_id)
ON DELETE NO ACTION
ON UPDATE CASCADE;

如果您想删除该密钥,则:

ALTER TABLE table_name 
DROP FOREIGN KEY constraint_name;

为了能够创建关系,table 存储引擎 必须是 InnoDB。您可以在 操作 选项卡中进行编辑。

然后,您需要确保主 table 中的 id 列已编入索引。它应该出现在 Index 部分 Structure 选项卡中。

最后,您可以在结构 选项卡中看到选项关系视图。编辑时,您将能够 select 外国 table 中的父列来创建关系。

见附件。我希望这对任何人都有用。

在 phpmyadmin 中,转到结构选项卡,select 关系视图,如下图所示。 在这里您可以找到表格形式来添加外键约束名称、当前 table 列、外键数据库、table 和列