未处理的异常无法添加或更新子行:外键约束失败



op_dc_ip_address_alloc:

在该表中添加了vlan字段。desc op_dc_ip_address_alloc;

+----------------+---------------------+------+-----+---------+----------------+
| Field          | Type                | Null | Key | Default | Extra          |
+----------------+---------------------+------+-----+---------+----------------+
| id             | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| ip_address     | char(40)            | NO   | MUL | NULL    |                |
| data_center_id | bigint(20) unsigned | NO   | MUL | NULL    |                |
| pod_id         | bigint(20) unsigned | NO   | MUL | NULL    |                |
| nic_id         | bigint(20) unsigned | YES  |     | NULL    |                |
| reservation_id | char(40)            | YES  |     | NULL    |                |
| taken          | datetime            | YES  |     | NULL    |                |
| mac_address    | bigint(20) unsigned | NO   |     | NULL    |                |
| vlan           | int(10) unsigned    | YES  |     | NULL    |                |
+----------------+---------------------+------+-----+---------+----------------+

主机_pod_ref:

desc host_pod_ref;

+------------------+---------------------+------+-----+----------+----------------+
| Field            | Type                | Null | Key | Default  | Extra          |
+------------------+---------------------+------+-----+----------+----------------+
| id               | bigint(20) unsigned | NO   | PRI | NULL     | auto_increment |
| name             | varchar(255)        | YES  | MUL | NULL     |                |
| uuid             | varchar(40)         | YES  | UNI | NULL     |                |
| data_center_id   | bigint(20) unsigned | NO   | MUL | NULL     |                |
| gateway          | varchar(255)        | NO   |     | NULL     |                |
| cidr_address     | varchar(15)         | NO   |     | NULL     |                |
| cidr_size        | bigint(20) unsigned | NO   |     | NULL     |                |
| description      | varchar(255)        | YES  |     | NULL     |                |
| allocation_state | varchar(32)         | NO   | MUL | Enabled  |                |
| external_dhcp    | tinyint(4)          | NO   |     | 0        |                |
| removed          | datetime            | YES  | MUL | NULL     |                |
| owner            | varchar(255)        | YES  |     | NULL     |                |
| created          | datetime            | YES  |     | NULL     |                |
| lastUpdated      | datetime            | YES  |     | NULL     |                |
| engine_state     | varchar(32)         | NO   |     | Disabled |                |
+------------------+---------------------+------+-----+----------+----------------+

这是两个表,我试图在op_dc_ip_address_alloc中插入值,如下所示:

INSERT INTO `cloud`.`op_dc_ip_address_alloc` (ip_address, data_center_id, pod_id, mac_address)
VALUES ('10.147.29.160', 1, 11, (select mac_address from `cloud`.`data_center` where id=1));

我作为面临错误

无法添加或更新子行:外键约束失败(cloud.op_dc_ip_address_alloc,constraintfk_op_dc_ip_address_alloc__pod_idforeign key(pod_id(REFERENCEShost_pod_ref(id(ON DELETE CASCADE(

有人能帮我吗。

INSERT INTO cloud.op_dc_ip_address_alloc (ip_address, data_center_id, pod_id, mac_address)
VALUES ('10.147.29.160', 1, 11, (select mac_address from clou``data_center where id=1));

您确定host_pod_ref表中存在id=11吗?我认为这就是问题的原因。

最新更新