lintcode-2560 · 撤销插入 Xie Xun 的信息

404 阅读1分钟

\

描述

我们需要撤销向 teachers 表插入 Xie Xun 的信息的操作,请补充 SQL 语句,来实现撤销插入 Xie Xun 的信息的操作。

表定义: teachers (教师表)

列名类型注释
idint主键
namevarchar讲师姓名
emailvarchar讲师邮箱
ageint讲师年龄
countryvarchar讲师国籍

样例

样例一:

表内容 : teachers

idnameemailagecountry
1Eastern Hereticeastern.heretic@gmail.com20UK
2Northern Beggarnorthern.beggar@qq.com21CN
3Western Venomwestern.venom@163.com28USA
4Southern Emperorsouthern.emperor@qq.com21JP
5Linghu Chong18CN

在运行你的 SQL 语句之后,表应返回:

idnameemailagecountry
1Eastern Hereticeastern.heretic@gmail.com20UK
2Northern Beggarnorthern.beggar@qq.com21CN
3Western Venomwestern.venom@163.com28USA
4Southern Emperorsouthern.emperor@qq.com21JP
5Linghu Chong18CN

样例二:

idnameemailagecountry
1Eastern Hereticeastern.heretic@gmail.com20UK
2Northern Beggarnorthern.beggar@qq.com21CN
3Western Venomwestern.venom@163.com28USA
4Southern Emperorsouthern.emperor@qq.com21JP

在运行你的 SQL 语句之后,表应返回:

idnameemailagecountry
1Eastern Hereticeastern.heretic@gmail.com20UK
2Northern Beggarnorthern.beggar@qq.com21CN
3Western Venomwestern.venom@163.com28USA
4Southern Emperorsouthern.emperor@qq.com21JP

题解

对于本题,主要考察的是事务的编写。

MySQL 事务主要用于处理操作量大,复杂度高的数据.

  • BEGIN 或 START TRANSACTION 显式地开启一个事务;

  • ROLLBACK 也可以使用 ROLLBACK WORK,不过二者是等价的。回滚会结束用户的事务,并撤销正在进行的所有未提交的修改;


BEGIN;

-- 插入 Xie Xun 的信息 --
INSERT INTO teachers (name, age, country)
VALUES ('Xie Xun', 49, 'CN');

-- Write your SQL Query here --
rollback