107 lines
4.8 KiB
Plaintext
107 lines
4.8 KiB
Plaintext
create table parent (
|
|
a int primary key,
|
|
b int not null,
|
|
c int not null,
|
|
unique(b) using hash,
|
|
index(c)) engine = ndb;
|
|
create table child (
|
|
a int primary key,
|
|
b int not null,
|
|
c int not null,
|
|
unique(b) using hash,
|
|
index(c)) engine = ndb;
|
|
alter table child add constraint fk1 foreign key (a) references parent(a);
|
|
alter table child add constraint fk2 foreign key (b) references parent(a);
|
|
alter table child add constraint fk3 foreign key (c) references parent(a);
|
|
show create table child;
|
|
Table Create Table
|
|
child CREATE TABLE `child` (
|
|
`a` int(11) NOT NULL,
|
|
`b` int(11) NOT NULL,
|
|
`c` int(11) NOT NULL,
|
|
PRIMARY KEY (`a`),
|
|
UNIQUE KEY `b` (`b`) USING HASH,
|
|
KEY `c` (`c`),
|
|
CONSTRAINT `fk1` FOREIGN KEY (`a`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk2` FOREIGN KEY (`b`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk3` FOREIGN KEY (`c`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
|
|
alter table child add constraint fk4 foreign key (a) references parent(b);
|
|
alter table child add constraint fk5 foreign key (b) references parent(b);
|
|
alter table child add constraint fk6 foreign key (c) references parent(b);
|
|
show create table child;
|
|
Table Create Table
|
|
child CREATE TABLE `child` (
|
|
`a` int(11) NOT NULL,
|
|
`b` int(11) NOT NULL,
|
|
`c` int(11) NOT NULL,
|
|
PRIMARY KEY (`a`),
|
|
UNIQUE KEY `b` (`b`) USING HASH,
|
|
KEY `c` (`c`),
|
|
CONSTRAINT `fk1` FOREIGN KEY (`a`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk2` FOREIGN KEY (`b`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk3` FOREIGN KEY (`c`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk4` FOREIGN KEY (`a`) REFERENCES `parent` (`b`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk5` FOREIGN KEY (`b`) REFERENCES `parent` (`b`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk6` FOREIGN KEY (`c`) REFERENCES `parent` (`b`) ON DELETE NO ACTION ON UPDATE NO ACTION
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
|
|
alter table child algorithm=copy, add constraint fk7 foreign key (a) references parent(c);
|
|
alter table child algorithm=copy, add constraint fk8 foreign key (a) references parent(c);
|
|
alter table child algorithm=copy, add constraint fk9 foreign key (a) references parent(c);
|
|
alter table child algorithm=inplace, add constraint fk7 foreign key (a) references parent(c);
|
|
ERROR HY000: Cannot add foreign key constraint
|
|
show warnings;
|
|
Level Code Message
|
|
Warning 1296 Got error 21026 'Create foreign key failed in NDB - parent index is not unique index' from NDB
|
|
Error 1215 Cannot add foreign key constraint
|
|
alter table child algorithm=inplace, add constraint fk8 foreign key (a) references parent(c);
|
|
ERROR HY000: Cannot add foreign key constraint
|
|
show warnings;
|
|
Level Code Message
|
|
Warning 1296 Got error 21026 'Create foreign key failed in NDB - parent index is not unique index' from NDB
|
|
Error 1215 Cannot add foreign key constraint
|
|
alter table child algorithm=inplace, add constraint fk9 foreign key (a) references parent(c);
|
|
ERROR HY000: Cannot add foreign key constraint
|
|
show warnings;
|
|
Level Code Message
|
|
Warning 1296 Got error 21026 'Create foreign key failed in NDB - parent index is not unique index' from NDB
|
|
Error 1215 Cannot add foreign key constraint
|
|
drop table child, parent;
|
|
create table parent (
|
|
a int primary key,
|
|
b int not null,
|
|
c int not null,
|
|
unique(b) using hash,
|
|
index(c)) engine = ndb;
|
|
create table child (
|
|
a int not null,
|
|
b int not null,
|
|
c int not null,
|
|
primary key (a),
|
|
unique key (b) using hash,
|
|
key (c),
|
|
constraint fk1 foreign key(a) references parent (a),
|
|
constraint fk2 foreign key(b) references parent (a),
|
|
constraint fk3 foreign key(c) references parent (a),
|
|
constraint fk4 foreign key(a) references parent (b),
|
|
constraint fk5 foreign key(b) references parent (b),
|
|
constraint fk6 foreign key(c) references parent (b)
|
|
) engine=ndbcluster;
|
|
show create table child;
|
|
Table Create Table
|
|
child CREATE TABLE `child` (
|
|
`a` int(11) NOT NULL,
|
|
`b` int(11) NOT NULL,
|
|
`c` int(11) NOT NULL,
|
|
PRIMARY KEY (`a`),
|
|
UNIQUE KEY `b` (`b`) USING HASH,
|
|
KEY `c` (`c`),
|
|
CONSTRAINT `fk1` FOREIGN KEY (`a`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk2` FOREIGN KEY (`b`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk3` FOREIGN KEY (`c`) REFERENCES `parent` (`a`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk4` FOREIGN KEY (`a`) REFERENCES `parent` (`b`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk5` FOREIGN KEY (`b`) REFERENCES `parent` (`b`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
|
CONSTRAINT `fk6` FOREIGN KEY (`c`) REFERENCES `parent` (`b`) ON DELETE NO ACTION ON UPDATE NO ACTION
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
|
|
drop table child, parent;
|