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的记录都会被删掉。
1、首先打开终端窗口。mysql -uroot -p进入mysql。
2、进入数据库,然后查看已有的表格,以免名字重复。
3、创建第一个表格,插入数据。
4、创建第二表格,插入数据。
5、创建第三个表格,并且和第一第二个表格关联。
6、INSERT INTO zoo VALUES(1, 1, 2)INSERT INTO zoo VALUES(1, 2, 1)这个时候就能够把他们直接的数据互相关联删除了。比如dog的1和cat的2。
delete t.*,t1.*,t2.* from tale_a t1, tale_a_b t, tale_b t2where t1.id=t.aid and t.bid=t2.id and t1.你的删除条件
前提是 a表a_b 表b表根据你的关联条件 inner join 能够查到内容
才会删除成功
t1.id=t.aid and t.bid=t2.id 替换成你的三个表的关联条件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)