zoukankan      html  css  js  c++  java
  • postgresql外键on delete cascade

    级联删除

    A表中字段依赖于B表中对应字段,
    如果删除B表中的记录,则会级联删除A表中对应记录

    create table test(id serial primary key, name varchar(10));
    
    create table test01(id serial primary key, tid int, constraint fk_test01_tid foreign key(tid) references test(id) 
    on delete cascade);
    
    imos=# insert into test(name) values('a'),('b'),('c');
    INSERT 0 3
    imos=# insert into test01(tid) values(1),(2),(3);
    INSERT 0 3
    imos=# 
    imos=# select * from test;
     id | name 
    ----+------
      1 | a
      2 | b
      3 | c
    (3 rows)
    
    imos=# select * from test01;
     id | tid 
    ----+-----
      1 |   1
      2 |   2
      3 |   3
    
    imos=# delete from test where id=1;
    DELETE 1
    imos=# select * from test01;
     id | tid 
    ----+-----
      2 |   2
      3 |   3
    (2 rows)
    
    imos=# select * from test;
     id | name 
    ----+------
      2 | b
      3 | c
    (2 rows)
    
    imos=# delete from test01 where id=2;
    DELETE 1
    imos=# select * from test;
     id | name 
    ----+------
      2 | b
      3 | c
    (2 rows)
    
    imos=# select * from test01;
     id | tid 
    ----+-----
      3 |   3
    (1 row)
    
    
  • 相关阅读:
    扩展性很好的一个分页存储过程
    SQL中列转行
    Server.MapPath() 方法(摘自互联网)
    容易遗忘のSQL
    Linq读取XML
    字节流和字符流
    Java中" "和 ' '
    Spring常用基本注解
    finally和return
    JS 深度clone
  • 原文地址:https://www.cnblogs.com/yldf/p/11900052.html
Copyright © 2011-2022 走看看