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_id
foreign 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吗?我认为这就是问题的原因。