db-tutorial/codes/mysql/tcl_demo.sql

44 lines
1.1 KiB
MySQL
Raw Normal View History

2018-05-02 15:55:02 +08:00
/**
* Mysql TCL
* @author Zhang Peng
* @date 2018/5/2
*/
#############################################################
# 运行本例的预置操作
#############################################################
-- 新建数据表 user
2018-05-04 10:52:03 +08:00
DROP TABLE IF EXISTS user;
CREATE TABLE user (
id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Id',
username varchar(64) NOT NULL DEFAULT 'default' COMMENT '用户名',
password varchar(64) NOT NULL DEFAULT 'default' COMMENT '密码',
email varchar(64) NOT NULL DEFAULT 'default' COMMENT '邮箱',
PRIMARY KEY (id)
2018-05-02 15:55:02 +08:00
) COMMENT='用户表';
#############################################################
# 事务操作
#############################################################
-- 开始事务
START TRANSACTION;
-- 插入操作A
2018-05-04 10:52:03 +08:00
INSERT INTO user
2018-05-02 15:55:02 +08:00
VALUES (1, 'root1', 'root1', 'xxxx@163.com');
-- 创建保留点 updateA
SAVEPOINT updateA;
-- 插入操作B
2018-05-04 10:52:03 +08:00
INSERT INTO user
2018-05-02 15:55:02 +08:00
VALUES (2, 'root2', 'root2', 'xxxx@163.com');
-- 回滚到保留点 updateA
ROLLBACK TO updateA;
-- 提交事务只有操作A生效
COMMIT;