mysqlsql級聯刪除
Ⅰ mysql怎麼刪除兩張有關聯的表的數據
用事務處理來刪除,A,B表關聯數據的刪除需要放在同一事務中
Ⅱ 怎麼寫mysql資料庫延遲級聯刪除命令
舉例:
1、建築表
CREATE TABLE buildings (
building_no INT PRIMARY KEY AUTO_INCREMENT,
building_name VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL
);
2、房間表
CREATE TABLE rooms (
room_no INT PRIMARY KEY AUTO_INCREMENT,
room_name VARCHAR(255) NOT NULL,
building_no INT NOT NULL,
FOREIGN KEY (building_no)
REFERENCES buildings (building_no)
ON DELETE CASCADE //這里指定了級聯刪除
);
3、執行刪除會把building_no=2的room記錄都刪除了
DELETE FROM buildings
WHERE
building_no = 2;
Ⅲ 使用mysql語句實現級聯刪除
觸發器,A表刪除動作觸發B表的刪除動作
Ⅳ mysql怎麼設置級聯刪除
這個在建表的時候就可以指定了
CREATE TABLE buildings (
building_no INT PRIMARY KEY AUTO_INCREMENT,
building_name VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL
);
CREATE TABLE rooms (
room_no INT PRIMARY KEY AUTO_INCREMENT,
room_name VARCHAR(255) NOT NULL,
building_no INT NOT NULL,
FOREIGN KEY (building_no)
REFERENCES buildings (building_no)
ON DELETE CASCADE
);
當執行
DELETE FROM buildings
WHERE
building_no = 2;的時候,rooms表中的building_no =2的記錄都會被刪掉。
Ⅳ MySQL寫觸發器,級聯刪除
不需要觸發器,在sc表上創建關聯student主鍵的級聯刪除外鍵
Ⅵ mysql級聯刪除觸發器
你的資料庫訪問層是不是用Hibernate的?如果是Hibernate的話,可以再hbm.xml文件里設置cascade=「delete」就可以進行級聯操作了。
如果不是Hibernate,而是用JdBC的話,且使用觸發器的話,就要按照MySQL的觸發器的編寫規范來寫了,你的這個觸發器像是Oracle的。