数据库事务测试以及级联更新级联删除

数据库事务

start transaction; #开始事务

insert into gzb(gz)values(5000);

insert into gzb(gz)values(6000);

insert into gzb(gz)values(7000);

insert into gzb(gz)values(8000); /*执行事务,并查看是否添加成功数据*/

commit; # commit数据,查看表中数据是否提交

rollback; #数据库回滚

级联更新,级联删除

主要通过两种方式

1、建表时,在外键约束后面加上 on delete cascade/on update cascade

2、在客户端操作,选中要级联的表,右击 design table ---> foreign key--->on delete /on update ----> 双击选择cascade

时间: 2024-10-17 20:13:59

数据库事务测试以及级联更新级联删除的相关文章

SQL图形化操作设置级联更新和删除

SQL级联操作设置 对SQL数据库的表,进行级联操作(如级联更新及删除),首先需要设置表的主外键关系,有两种方法: 第一种: 1. 选择你要进行操作的数据库 2. 为你要创建关系的两个表设置主键 3. 在此数据库的数据库关系图一栏处 =>单击右键=>创建新的关系图=>选择要添加关系的表,单击添加 4. 完成后会在关系图的窗口上生成两个表,在表的某列按钮上长按鼠标左键,并拖到另一张表上 5. 在新弹出的"表和列"的窗口中,设置两个表对应的主外键字段,确定 6. 在外键关

建表时和建表后的级联更新和删除

--对表建立级联更新或级联删除方法--1.在建表时直接定义级联更新和级联删除create table pktable(ID int primary key,SCD int, SName varchar(20)) create table fktable(ID int primary key,SCD int references pktable(ID) on delete cascade on update cascade, Age tinyint) insert into pktable val

数据库中表的插入、更新、删除

数据库的表中最常见的操作就是插入.更新啊和删除.下面我们一一介绍一下: 1. 插入 insert 使用的模板语句时insert into 表明 values. 例如: insert有如下几点需要注意: 1)insert into-select可以把查找的结果插入到另一个表中: 2)插入的数据必须和表中的字段类型相同,或者可以被隐式转换: 2. 更新 update 更新就是把已经存在的数据修改更新一下. 例子: 更新有如下几点需要注意: 1)如果没有where做限制,那么默认更新所有数据: 2)修

【Python】Django数据模型、级联删除、级联更新、ER图导出等

在本文中,我们将向读者详细介绍如何在更新和删除父表数据的同时,触发有关子表数据的级联更新和删除操作.您将看到当使用InnoDB表的时候,借助于外键约束就可以轻松搞定这一过程. 一.利用外键约束更新并删除MySQL中的数据 我们知道,开发能够维护多个表的完整性的数据库驱动的应用程序是一件非常复杂的事情--即使应用程序所面对的是当前最流行的开源关系型数据库管理系统MySQL服务器时也不例外.如果一个应用程序必须处理多个数据库表,而这些表之间有存在着某些预定义的关系,这时一旦父表中的数据被更新或者删除

外键 级联更新/删除 复制表 修改表

引入 所有的信息都记录在一张表中所带来的问题 1.表的结构不清晰   太乱 2.浪费硬盘空间     dep_name 重复太多 3.表的扩展性极差(无法忽略的缺点)    想改其中的一个部门需要连着改好多 类似于我们将所有的代码都写在用一个py文件内 确立表与表之间的关系 一定要换位思考(必须两方都考虑周全之后才能得出结论) 一对多 以员工表和部门表为例 先站在员工表看能否有多个员工对应一个部门 翻译过来: 一个部门能否有多个员工 可以!!!(暂时只能确定员工单向多对一部门) 再站在部门表看能

hibernate 在做更新和删除的时候一定要把事务开启

在做更新和删除的时候一定要把事务开启 在做更新和删除的时候一定要把事务开启 在做更新和删除的时候一定要把事务开启 重要的事情说三遍!!! curd之前配置文件 <property name="hbm2ddl.auto">update</property> 练习hibernate的CURD(单表操作 save& update& delete& get/load )时,发现update&  delete方法执行不成功,冥思苦想也没想出

SQL 级联更新,级联删除的概念

SQL级联更新,级联删除 今天做了个测试,搞清楚了级联更新,级联删除级联删除:当我们没有对键加级联删除的时候,删除主键表中的数据(外键表有引用的数据)时,会报错,不能删除,必须先把相关联的外键数据            删除了,才能删除主键表的数据,但如果新建外键的时候设置了级联删除,那么当我们删除主键表的数据时,数据库就会自动帮我们把相            关联的外键表数据删除掉,这个好理解级联更新:一直困扰我,级联更新有什么用,是更新什么东西呢,今天做了个测试(mssql),终于搞清楚了一

Oracle外键级联删除和级联更新

1 级联删除 Oracle在外键的删除上有NO ACTION(类似RESTRICT).CASCADE和SET NULL三种行为. 下面以学生-班级为例说明不同情况下的外键删除,学生属于班级,班级的主键是学生的外键. -- 班级表 CRATE TABLE TB_CLASS ( ID NUMBER NOT NULL, --班级主键 NAME VARCHAR2(50), --班级名称 CONSTRAINT PK_TB_CLASS PRIMARY KEY (ID) ); -- 学生表 CREATE TA

Mysql实现级联操作(级联更新、级联删除)

一.首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name varchar(20) not null) TYPE=InnoDB charset=utf8; create table sc( scid int UNSIGNED primary key auto_increment, sid int UNSIGNED not null, score varchar(20) default '0