mysql 有条件插入语句sql
2013-11-04 14:30
176 查看
在实际的应用中,时常会有这样的需求:
一个玩家可以创建自己的城市,但是最多只能创建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
LIMIT 1
这样的话,不使用事务,将给程序带来不小的性能提升
一个玩家可以创建自己的城市,但是最多只能创建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
LIMIT 1
这样的话,不使用事务,将给程序带来不小的性能提升
相关文章推荐
- mysql导入CSV文件及JAVA读取CSV文件和MYSQL批量插入和更新及ibatis常用SQL语句
- php 获取mysql中插入的id 和 sql语句查看是否有重复
- mysql 一怪sql语句:插入字段(uid,username,level,time...),且username是据uid从另表查出,其它为常数
- Oracle和Mysql-可行的插入多条记录的SQL语句(总结)
- MYSQL 数据表中行存在时更新,不存在时插入的SQL语句
- Mysql大量插入数据时SQL语句的优化
- 在linux下写的mysql无法插入,sql语句在复制中变'脏'了.
- mysql如何用一条sql语句实现不存在就插入,存在的话则更新
- MySql中把一个表的数据插入到另一个表中的SQL语句
- Mysql大量插入数据时SQL语句的优化
- MySql避免重复插入sql语句
- mybatis--mysql 批量插入批量更新在一条sql语句中完成
- [lua, mysql] 将多条记录数据组合成一条sql插入语句(for mysql)
- 允许mysql同时插入多条sql语句
- MySQL基本SQL语句之数据插入、删除数据和更新数据
- Mysql--一条SQL语句多条插入、更新、删除
- Mysql大量插入数据时SQL语句的优化
- sql语句之随机查询记录和批量插入--基于mysql
- mysql中使用sql语句插入日期时间类型的写法
- mysql sql 语句插入 blob字段的插入