Current Path : /home/usr.opt/mysql57/mysql-test/suite/ndb/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/suite/ndb/t/ndb_fk_is.inc |
eval create table product ( category int not null, id int not null, price decimal, primary key(category, id)) engine=$engine; eval create table customer ( id int not null, primary key (id)) engine=$engine; eval create table product_order ( no int not null auto_increment, product_category int not null, product_id int not null, customer_id int not null, primary key(no), index (product_category, product_id), foreign key fk1 (product_category, product_id) references product(category, id) on update restrict on delete cascade, index (customer_id), foreign key fk2 (customer_id) references customer(id)) engine=$engine; eval create table emp ( id int primary key auto_increment, manager int, key (manager), foreign key fk1 (manager) references emp (id)) engine=$engine; select * from information_schema.table_constraints where table_schema = 'test' order by table_name, constraint_type, constraint_name; --disable_query_log select CONCAT_WS('.', TABLE_NAME, COLUMN_NAME) as COL, ORDINAL_POSITION, POSITION_IN_UNIQUE_CONSTRAINT, CONCAT_WS('.', REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME) as REFERENCED_COL from information_schema.key_column_usage where table_schema = 'test' order by COL, ORDINAL_POSITION; --enable_query_log drop table product_order, customer, product, emp; # databases, circular, i_s.referential_constraints create database mydb1; create database mydb2; eval create table mydb1.t1 ( a1 int not null, b1 int not null, primary key using hash (a1), unique key xb1 (b1) ) engine=$engine; eval create table mydb2.t2 ( a2 int not null, b2 int not null, primary key using hash (a2), unique key xb2 (b2) ) engine=$engine; alter table mydb1.t1 add constraint fk_b1a1 foreign key (b1) references mydb1.t1 (a1), add constraint fk_b1b2 foreign key (b1) references mydb2.t2 (b2); alter table mydb2.t2 add constraint fk_b2a2 foreign key (b2) references mydb2.t2 (a2), add constraint fk_b2b1 foreign key (b2) references mydb1.t1 (b1); select * from information_schema.referential_constraints order by constraint_schema, constraint_name; select * from information_schema.table_constraints where table_schema like 'mydb%' order by table_name, constraint_type, constraint_name; select * from information_schema.key_column_usage where table_schema like 'mydb%' order by constraint_schema, constraint_name; alter table mydb1.t1 drop foreign key fk_b1a1, drop foreign key fk_b1b2; alter table mydb2.t2 drop foreign key fk_b2a2, drop foreign key fk_b2b1; drop table mydb1.t1; drop table mydb2.t2; drop database mydb1; drop database mydb2;