SQL中对CASCADE的学习

CREATE TABLE member (
 id  INTEGER  PRIMARY KEY auto_increment,
 username VARCHAR(20) NOT NULL,
 password VARCHAR(20) NOT NULL,
 realname VARCHAR(20) NULL,
 tel  VARCHAR(20) NULL,
 address  VARCHAR(100) NULL,
 zip  VARCHAR(6) NULL,
 email  VARCHAR(50) NULL
);

CREATE TABLE orders (
 id  INTEGER  PRIMARY KEY auto_increment,
 orderno  VARCHAR(50) NOT NULL,
 userid  INTEGER  NOT NULL
   REFERENCES member(id) ON DELETE CASCADE,
 realname VARCHAR(20) NOT NULL,
 address  VARCHAR(100) NOT NULL,
 zip  VARCHAR(6) NULL,
 tel  VARCHAR(20) NULL,
 payment  VARCHAR(20) NULL,
 email  VARCHAR(50) NULL,
 memo  TEXT(2000) NULL,
 price  DOUBLE  NULL,
 time  VARCHAR(20) NULL,
 tag  INTEGER  NULL
); 

说明如下:本例创建了两个表,一个为member,另一个为orders。在orders表中就使用了DELETE CASCADE,

它表示当删除member表中的记录时,orders表中以member(id)为外键的记录也同时删除。这就是所谓的级联删除。

来源:http://blog.csdn.net/ccsuliuxing/article/details/1559502

posted on 2012-05-31 14:27  卡域克  阅读(2570)  评论(0)    收藏  举报