条件
条件约束:转账金额<=余额
姓名 | 余额 | 操作后剩余 |
---|---|---|
张三 | $1000.00 | $800.00 |
李四 | $0.00 | $200.00 |
关键语句:
update info set money=money-200 where name=‘张三’
update info set money=money+200 where name=‘李四’
示例
mysql> create database bank; ##创建一个银行数据库
mysql> use bank; #进入数据库
mysql> create table info (id int(10) not null primary key auto_increment,money double not null); #建表结构
mysql> desc info; #查看表结构
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| money | double | NO | | NULL | |
+-------+---------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql> alter table info add column name varchar(30); #添加一个name字段
mysql> desc info;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| money | double | NO | | NULL | |
| name | varchar(30) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
insert into info (name,money) values ('zhansan',1000.00),('lisi',0.00); #插入数据
mysql> select * from info; #查看是否成功插入
+----+-------+---------+
| id | money | name |
+----+-------+---------+
| 1 | 1000 | zhansan |
| 2 | 0 | lisi |
+----+-------+---------+
2 rows in set (0.00 sec)
mysql> begin; #开始执行事务
mysql> update info set money=money-200 where name='zhansan'; #zhansan转账200
mysql> select * from info;
+----+-------+---------+
| id | money | name |
+----+-------+---------+
| 1 | 800 | zhansan |
| 2 | 0 | lisi |
+----+-------+---------+
2 rows in set (0.00 sec)
mysql> update info set money=money+200 where name='lisi'; #lisi到账200
mysql> select * from info; #确认到账
+----+-------+---------+
| id | money | name |
+----+-------+---------+
| 1 | 800 | zhansan |
| 2 | 200 | lisi |
+----+-------+---------+
2 rows in set (0.00 sec)
mysql> commit; #提交事务