在实际的应用中,时常会有这样的需求:
一个玩家可以创建自己的城市,但是最多只能创建5个城市,如果不使用事务这个sql语句改怎么写呢?
具体做法如下:
1、检测玩家当前的city数量,如果大于等于5,就不创建
2、构造创建新的city的sql语句:
INSERT INTO user_city( `uid` , `cityname` )
SELECT $uid, 'newcity'
FROM user_city
WHERE (
SELECT
COUNT
(
*
)
FROM table_setting
WHERE uid = $uid
)
< 5
FROM table_setting
WHERE uid = $uid
LIMIT 1
这样的话,不使用事务,将给程序带来不小的性能提升