Mysql外检约束的参照操作

创建子表

CREATE TABLES users2(

id SMALLINT PRIMARY KEY AUTO_INCREMENT UNSIGNED,

username VARCHAR(20) NOT NULL,

pid UNSIGNED SMALLINT

FOREIGN KEY(pid) REFERENCES provinces(id) ON DELETE CASCADE

);

插入数据

INSERT provinces(pname) VALUES('A');

INSERT provinces(pname) VALUES('B');

INSERT provinces(pname) VALUES('C');

插入子表数据

INSERT users2(username,pid) VALUES("Tom",1);

INSERT users2(username,pid) VALUES("Tom",2);

INSERT users2(username,pid) VALUES("Tom",3);

INSERT users2(username,pid) VALUES("Tom",4);//这个是错误的超出限制了

删除键

DELETE FROM provinces WHERE id=3;

相应的子表中的数据也被删除了


你可能感兴趣的:(Myslq)