zoukankan      html  css  js  c++  java
  • SQL

    Summary

    • 关于约束的一些记录。
    • 非主键字段被设置成外键的时候提示:[Code: , SQL State: 42830] ERROR: there is no unique constraint matching given keys for referenced table "t1"

    Demo

    // 创建 author 表
    create table author (id INTEGER, name char(255));
    // 唯一主键才能被添加成外键。
    alter table author add primary key(id);
    // 创建 book 表
    create table book (id INTEGER, author_id INTEGER, name char(255));
    
    // 第一,可以直接删除 Book 表记录,Author 表数据不会受到影响。
    // 第二,删除 Author 表记录,串联删除 Book 表数据。
    alter table book add foreign key(author_id) references author(id) on delete cascade;
    
    // 删除约束
    alter table book drop constraint 'book_author_id_fkey';
    

    Action

    • Restrict 禁止删除被引用的行 (不能将约束检查推迟到事物的晚些时候)
    • No Action 如果存在任何引用行,则抛出错误,如果不声明任何行为则No Action就是缺省行为 (允许约束检查推迟到事物的晚些时候)
    • Cascade 在删除一个被引用的行时,引用他的行被自动删除
    • Set Null (外键上才有) 删除被引用行时,引用他的字段设置为NULL
    • Set Default (外键上才有) 删除被引用行时,引用他的字段被设置为缺省值

    注意:一个动作声明为Set Default 但是缺省值并不能满足外键,那么动作就会失败

  • 相关阅读:
    flex 布局
    5个有用的 CSS 布局生成器
    js 函数
    js 类定义的方法(最终)
    js && ||
    css position 盒子模型
    eldatepicker选择时间,限定选择的时间段
    Java基础学习总结——Java对象的序列化和反序列化
    pytorch自定义算子
    网站上视频下载后保存为MP4格式
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/12851823.html
Copyright © 2011-2022 走看看