2
CREATE TABLE Customer(
c_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
f_name VARCHAR(50) NOT NULL,
l_name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
number INTEGER,
date_joined DATE NOT NULL CHECK (date_added <= now())
);
CREATE TABLE Address(
a_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
c_id INTEGER NOT NULL REFERENCES Customer(c_id) ON DELETE CASCADE,
billing BOOLEAN,
f_line VARCHAR(50) NOT NULL,
s_line VARCHAR(100),
county VARCHAR(20) NOT NULL,
p_code VARCHAR(7) NOT NULL,
number INTEGER(11)
);
然而,當我刪除一個客戶,他們的地址沒有被刪除的sql,任何想法,爲什麼?
所以會發生什麼?它失敗?它留下了一個孤兒記錄?什麼RDBMS? – 2012-01-04 17:51:01
我猜你使用的是mysql,默認引擎是MyISAM,它不支持外鍵 – a1ex07 2012-01-04 17:52:35
另外,再次將表編寫回來檢查外鍵約束是否存在並且具有級聯刪除。 – MatBailie 2012-01-04 17:53:02