@@ -774,14 +774,23 @@ drop table t3, t1;
774
774
create table t1 (
775
775
pk1 int not null primary key,
776
776
b int,
777
- foreign key (b) references t2(pk2)
777
+ foreign key fk1 (b) references t2(pk2)
778
778
) engine=ndb;
779
779
set foreign_key_checks=1;
780
780
truncate table t1;
781
781
set foreign_key_checks=0;
782
782
set @@ndb_show_foreign_key_mock_tables= 1;
783
783
truncate table t1;
784
784
set @@ndb_show_foreign_key_mock_tables= 0;
785
+ show create table t1;
786
+ Table Create Table
787
+ t1 CREATE TABLE `t1` (
788
+ `pk1` int(11) NOT NULL,
789
+ `b` int(11) DEFAULT NULL,
790
+ PRIMARY KEY (`pk1`),
791
+ KEY `fk1` (`b`),
792
+ CONSTRAINT `fk1` FOREIGN KEY (`b`) REFERENCES `t2` (`pk2`) ON DELETE NO ACTION ON UPDATE NO ACTION
793
+ ) ENGINE=ndbcluster DEFAULT CHARSET=latin1
785
794
drop table t1;
786
795
#
787
796
# Truncating referenced table -> not allowed
@@ -837,7 +846,41 @@ c int
837
846
create table t1 (
838
847
pk1 int not null primary key,
839
848
b int,
840
- foreign key (b) references t2(pk2)
849
+ foreign key fk1 (b) references t2(pk2)
850
+ ) engine=ndb;
851
+ set @@ndb_show_foreign_key_mock_tables= 1;
852
+ set foreign_key_checks=1;
853
+ truncate table t1;
854
+ set foreign_key_checks=0;
855
+ truncate table t1;
856
+ set @@ndb_show_foreign_key_mock_tables= 0;
857
+ show create table t1;
858
+ Table Create Table
859
+ t1 CREATE TABLE `t1` (
860
+ `pk1` int(11) NOT NULL,
861
+ `b` int(11) DEFAULT NULL,
862
+ PRIMARY KEY (`pk1`),
863
+ KEY `fk1` (`b`),
864
+ CONSTRAINT `fk1` FOREIGN KEY (`b`) REFERENCES `t2` (`pk2`) ON DELETE NO ACTION ON UPDATE NO ACTION
865
+ ) ENGINE=ndbcluster DEFAULT CHARSET=latin1
866
+ drop table t1, t2;
867
+ #
868
+ # Truncate with multiple foreign keys
869
+ #
870
+ create table t2 (
871
+ pk2 int not null primary key,
872
+ c int
873
+ ) engine=ndb;
874
+ create table t1 (
875
+ pk1 int not null primary key,
876
+ b int,
877
+ c int,
878
+ d int,
879
+ e int,
880
+ foreign key fk1 (b) references t2(pk2),
881
+ foreign key fk2 (c) references t3(pk3),
882
+ foreign key fk3 (d) references t3(pk4),
883
+ foreign key fk4 (e) references t4(pk5)
841
884
) engine=ndb;
842
885
set @@ndb_show_foreign_key_mock_tables= 1;
843
886
set foreign_key_checks=1;
@@ -850,8 +893,18 @@ Table Create Table
850
893
t1 CREATE TABLE `t1` (
851
894
`pk1` int(11) NOT NULL,
852
895
`b` int(11) DEFAULT NULL,
896
+ `c` int(11) DEFAULT NULL,
897
+ `d` int(11) DEFAULT NULL,
898
+ `e` int(11) DEFAULT NULL,
853
899
PRIMARY KEY (`pk1`),
854
- KEY `b` (`b`)
900
+ KEY `fk1` (`b`),
901
+ KEY `fk2` (`c`),
902
+ KEY `fk3` (`d`),
903
+ KEY `fk4` (`e`),
904
+ CONSTRAINT `fk1` FOREIGN KEY (`b`) REFERENCES `t2` (`pk2`) ON DELETE NO ACTION ON UPDATE NO ACTION,
905
+ CONSTRAINT `fk2` FOREIGN KEY (`c`) REFERENCES `t3` (`pk3`) ON DELETE NO ACTION ON UPDATE NO ACTION,
906
+ CONSTRAINT `fk3` FOREIGN KEY (`d`) REFERENCES `t3` (`pk4`) ON DELETE NO ACTION ON UPDATE NO ACTION,
907
+ CONSTRAINT `fk4` FOREIGN KEY (`e`) REFERENCES `t4` (`pk5`) ON DELETE NO ACTION ON UPDATE NO ACTION
855
908
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
856
909
drop table t1, t2;
857
910
#
0 commit comments