1
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_TABLES;
2
TABLE_ID NAME FLAG N_COLS SPACE
4
12 SYS_FOREIGN_COLS 0 7 0
5
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_INDEXES;
6
INDEX_ID NAME TABLE_ID TYPE N_FIELDS PAGE_NO SPACE
8
12 FOR_IND 11 0 1 303 0
9
13 REF_IND 11 0 1 304 0
10
14 ID_IND 12 3 2 305 0
11
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_COLUMNS;
12
TABLE_ID NAME POS MTYPE PRTYPE LEN
14
11 FOR_NAME 1 1 2949124 0
15
11 REF_NAME 2 1 2949124 0
19
12 FOR_COL_NAME 2 1 2949124 0
20
12 REF_COL_NAME 3 1 2949124 0
21
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_FIELDS;
28
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_FOREIGN;
29
ID FOR_NAME REF_NAME N_COLS TYPE
30
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_FOREIGN_COLS;
31
ID FOR_COL_NAME REF_COL_NAME POS
32
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_TABLESTATS;
33
TABLE_ID NAME STATS_INITIALIZED NUM_ROWS CLUST_INDEX_SIZE OTHER_INDEX_SIZE MODIFIED_COUNTER AUTOINC HANDLES_OPENED
34
11 SYS_FOREIGN Uninitialized 0 0 0 0 0 0
35
12 SYS_FOREIGN_COLS Uninitialized 0 0 0 0 0 0
36
CREATE TABLE parent (id INT NOT NULL,
37
PRIMARY KEY (id)) ENGINE=INNODB;
38
CREATE TABLE child (id INT, parent_id INT,
39
INDEX par_ind (parent_id),
40
CONSTRAINT constraint_test
41
FOREIGN KEY (parent_id) REFERENCES parent(id)
42
ON DELETE CASCADE) ENGINE=INNODB;
43
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_FOREIGN;
44
ID FOR_NAME REF_NAME N_COLS TYPE
45
test/constraint_test test/child test/parent 1 1
46
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_FOREIGN_COLS;
47
ID FOR_COL_NAME REF_COL_NAME POS
48
test/constraint_test parent_id id 0
49
INSERT INTO parent VALUES(1);
50
SELECT name, num_rows, handles_opened
51
FROM DATA_DICTIONARY.INNODB_SYS_TABLESTATS
52
WHERE name LIKE "%parent";
53
name num_rows handles_opened
55
SELECT NAME, FLAG, N_COLS, SPACE FROM DATA_DICTIONARY.INNODB_SYS_TABLES;
56
NAME FLAG N_COLS SPACE
58
SYS_FOREIGN_COLS 0 7 0
62
from DATA_DICTIONARY.INNODB_SYS_INDEXES
63
WHERE table_id In (SELECT table_id from
64
DATA_DICTIONARY.INNODB_SYS_TABLES
65
WHERE name LIKE "%parent%");
69
from DATA_DICTIONARY.INNODB_SYS_INDEXES
70
WHERE table_id In (SELECT table_id from
71
DATA_DICTIONARY.INNODB_SYS_TABLES
72
WHERE name LIKE "%child%");
76
SELECT name, pos, mtype, len
77
from DATA_DICTIONARY.INNODB_SYS_COLUMNS
78
WHERE table_id In (SELECT table_id from
79
DATA_DICTIONARY.INNODB_SYS_TABLES
80
WHERE name LIKE "%child%");
86
CREATE TABLE parent (id INT NOT NULL, newid INT NOT NULL,
87
PRIMARY KEY (id, newid)) ENGINE=INNODB;
88
CREATE TABLE child (id INT, parent_id INT,
89
INDEX par_ind (parent_id),
90
CONSTRAINT constraint_test
91
FOREIGN KEY (id, parent_id) REFERENCES parent(id, newid)
92
ON DELETE CASCADE) ENGINE=INNODB;
93
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_FOREIGN;
94
ID FOR_NAME REF_NAME N_COLS TYPE
95
test/constraint_test test/child test/parent 2 1
96
SELECT * FROM DATA_DICTIONARY.INNODB_SYS_FOREIGN_COLS;
97
ID FOR_COL_NAME REF_COL_NAME POS
98
test/constraint_test id id 0
99
test/constraint_test parent_id newid 1
100
INSERT INTO parent VALUES(1, 9);
101
SELECT * FROM parent WHERE id IN (SELECT id FROM parent);
104
SELECT name, num_rows, handles_opened
105
FROM DATA_DICTIONARY.INNODB_SYS_TABLESTATS
106
WHERE name LIKE "%parent";
107
name num_rows handles_opened