在mysql中向表添加或更改外键

时间:2015-08-28 07:13:26

标签: php mysql

我是关于mysql的sql查询的新手。我有这样的表结构:

---------------------------------        ----------------------------
|  Table office                 |        |  Table_detail_complaint  |
---------------------------------        ----------------------------
|(PK)  id_office                |    ----|(PK) id_complaint         |
|      name                     |    |   |     complaint_2          |
|      complaint_1              |    |   |     time_response_2      |
|      time_response_complaint1 |    |   |     complaint_3          |
|      address                  |    |   |     time_response_3      |
|(FK)  id_complaint             |-----   ----------------------------
---------------------------------

我遇到了这样的问题。

  1. 我成功创建了办公桌。但是,我忘了把id_complaint作为外键。我怎么能?
  2. 如何创建detail_complaint_table?
  3. 添加fk之后,如果“删除了table office中的一行也删除了table_detail_complaint上的一行”,我怎么能这样做。使用级联或什么?
  4. 如何在选择查询中使用JOIN查询complaint_1,complaint_2,complaint_3?
  5. 这是我的大问题。我有一个案例,如果投诉一直持续到投诉_N?我应该投诉_4,投诉_5?或者,有另一个想法?

1 个答案:

答案 0 :(得分:1)

您可以根据以下内容为子自动删除创建外键和级联 -

ALTER TABLE table_office 
ADD CONSTRAINT FK_table_office_id_complaint FOREIGN KEY (id_complaint) 
REFERENCES table_detail_complaint (id_complaint) 
ON DELETE CASCADE;

对于您问题的其他部分,请详细说明您要存储的信息类型以及使用方式。