Cannot add IP address for existing port
-
Hi,
Have problem with adding IP address
server>network>port>edit
then I choose IP address from list, press save and get error messageMessage:
isys_exception_database : Query error: 'INSERT INTO isys_catg_ip_list_2_isys_netp_port SET isys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id = '165', isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id = '1296';':
Cannot add or update a child row: a foreign key constraint fails (idoit_data_latest/isys_catg_ip_list_2_isys_netp_port
, CONSTRAINTisys_catg_ip_list_2_isys_netp_port_ibfk_2
FOREIGN KEY (isys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id
) REFEREN) -
Try dropping the foreign key constraint in your database like this:
alter table isys_catg_ip_list_2_isys_netp_port drop foreign key isys_catg_ip_list_2_isys_netp_port_ibfk_2;
and then post the output of the following two statements:
show create table isys_catg_ip_list_2_isys_netp_port;
select * from isys_catg_ip_list where isys_catg_ip_list__id = '165';
-
CREATE TABLE
isys_catg_ip_list_2_isys_netp_port
(
isys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id
int(10) unsigned NOT NULL,
isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id
int(10) unsigned NOT NULL,
KEYisys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id
(isys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id
),
KEYisys_catg_ip_list_2_isys_netp_port__isys_netp_port__id
(isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id
),
CONSTRAINTisys_catg_ip_list_2_isys_netp_port_ibfk_1
FOREIGN KEY (isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id
) REFERENCESisys_netp_port
(isys_netp_port__id
) O
N DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1mysql> select * from isys_catg_ip_list where isys_catg_ip_list__id = '165'\G
*************************** 1. row ***************************
isys_catg_ip_list__id: 165
isys_catg_ip_list__isys_obj__id: 535
isys_catg_ip_list__isys_connection__id: 10
isys_catg_ip_list__isys_ip_assignment__id: 2
isys_catg_ip_list__isys_net_type__id: 1
isys_catg_ip_list__title: NULL
isys_catg_ip_list__description:
isys_catg_ip_list__status: 2
isys_catg_ip_list__property: 0
isys_catg_ip_list__hostname:
isys_catg_ip_list__dhcp: 0
isys_catg_ip_list__address: 87.110.186.12
isys_catg_ip_list__mask:
isys_catg_ip_list__primary: 1
isys_catg_ip_list__gateway:
isys_catg_ip_list__dns_domain:
isys_catg_ip_list__dns_server:
isys_catg_ip_list__active: 0 -
Hmm looks good. Does the assignment work now ?
-
No, same thing
isys_exception_database : Query error: 'INSERT INTO isys_catg_ip_list_2_isys_netp_port SET isys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id = '169', isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id = '1300';':
Cannot add or update a child row: a foreign key constraint fails (idoit_data_latest/isys_catg_ip_list_2_isys_netp_port
, CONSTRAINTisys_catg_ip_list_2_isys_netp_port_ibfk_1
FOREIGN KEY (isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id
) REFERENCES) -
Try
alter table isys_catg_ip_list_2_isys_netp_port drop foreign key isys_catg_ip_list_2_isys_netp_port_ibfk_1;
You should also backup your table isys_catg_ip_list_2_isys_netp_port
Then you may tryDELETE FROM isys_catg_ip_list_2_isys_netp_port WHERE isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id NOT IN ( SELECT isys_netp_port__id FROM isys_netp_port); DELETE FROM isys_catg_ip_list_2_isys_netp_port WHERE isys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id NOT IN ( SELECT isys_catg_ip_list__id FROM isys_catg_ip_list); ALTER TABLE isys_catg_ip_list_2_isys_netp_port ADD FOREIGN KEY (isys_catg_ip_list_2_isys_netp_port__isys_netp_port__id) REFERENCES isys_netp_port (isys_netp_port__id) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE isys_catg_ip_list_2_isys_netp_port ADD FOREIGN KEY (isys_catg_ip_list_2_isys_netp_port__isys_catg_ip_list__id) REFERENCES isys_catg_ip_list (isys_catg_ip_list__id) ON DELETE CASCADE ON UPDATE CASCADE;
-
As there are few other issues with 0.9.9, decided to go back to previous version and wait for next release.