社区
MySQL
帖子详情
有两种应用情况求SQL语句。
madmanahong
2010-12-17 01:12:29
1。有一个计数器,每次减一,减到0失败。
譬如图书馆借阅系统。哪天看了一篇文章,反而被搞糊涂了。
2。有个表,每次调用插入一条语句,只能同时向这个表插入50条语句,超过则失败。
如果保证数据完整性?架设有几十台server同时操作这个库。
还有一种情况不知道我理解的对不对,就是有主键插入记录的时候,我们没有必要首先select去检测是否存在(因为即使select也不一定准),只需要根据插入判断返回值就行了。对吧?
...全文
79
8
打赏
收藏
有两种应用情况求SQL语句。
1。有一个计数器,每次减一,减到0失败。 譬如图书馆借阅系统。哪天看了一篇文章,反而被搞糊涂了。 2。有个表,每次调用插入一条语句,只能同时向这个表插入50条语句,超过则失败。 如果保证数据完整性?架设有几十台server同时操作这个库。 还有一种情况不知道我理解的对不对,就是有主键插入记录的时候,我们没有必要首先select去检测是否存在(因为即使select也不一定准),只需要根据插入判断返回值就行了。对吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zuoxingyu
2010-12-17
打赏
举报
回复
[Quote=引用 7 楼 madmanahong 的回复:]
第一种方法我看过一篇文章是使用
select .. for update
貌似是其进行了行锁。
谁能解释使用一下啊?
[/Quote]
是的。。加了个X锁,必须自己操作完成,释放X锁后,别人才能操作。
madmanahong
2010-12-17
打赏
举报
回复
第一种方法我看过一篇文章是使用
select .. for update
貌似是其进行了行锁。
谁能解释使用一下啊?
madmanahong
2010-12-17
打赏
举报
回复
第2种方法除了触发器还有没有别的方法?用事务也可以吧?
插入后select一下数目,然后rollback?
ACMAIN_CHM
2010-12-17
打赏
举报
回复
[Quote]2。有个表,每次调用插入一条语句,只能同时向这个表插入50条语句,超过则失败。[/Quote]使用触发器。
MySQL 中如何在触发器里中断记录的插入或更新?
http://blog.csdn.net/ACMAIN_CHM/archive/2009/07/25/4380183.aspx
ACMAIN_CHM
2010-12-17
打赏
举报
回复
[Quote]1。有一个计数器,每次减一,减到0失败。[/Quote]
START TRANSACTION;
update xxx set yyy=yyy-1;
select yyy into varYYY from xxx;
IF varYYYY>0 THEN
COMMIT:
ELSE
ROLLBACK;
iihero_
2010-12-17
打赏
举报
回复
[Quote=引用 1 楼 madmanahong 的回复:]
还有一种情况是有一个人同时只能加入一个社团。
加入社团后只是在那个社团表中插入一条记录。如何防止此人同时加入多个社团?
[/Quote]
在该表中,check (person_id, community_id) unique就可以限制了
iihero_
2010-12-17
打赏
举报
回复
[Quote=引用楼主 madmanahong 的回复:]
1。有一个计数器,每次减一,减到0失败。
譬如图书馆借阅系统。哪天看了一篇文章,反而被搞糊涂了。
2。有个表,每次调用插入一条语句,只能同时向这个表插入50条语句,超过则失败。
如果保证数据完整性?架设有几十台server同时操作这个库。
还有一种情况不知道我理解的对不对,就是有主键插入记录的时候,我们没有必要首先select去检测是否存在(因为即使selec……
[/Quote]
1. check 约束,强制>0
2. 50个并发??不解,限制并发数,能描述的具体一点吗?
madmanahong
2010-12-17
打赏
举报
回复
还有一种情况是有一个人同时只能加入一个社团。
加入社团后只是在那个社团表中插入一条记录。如何防止此人同时加入多个社团?
7天带你玩转Mysql数据库之
SQL语句
您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 七年
SQL语句
编写经验。满满的干货! 在网上找了好多SQL数据库的教程,但你还会面临这样的问题: 1. 自己写了SQL却不知道对不对。 2. 在上线后...
经典
SQL语句
大全
SQL语句
参考,包含Access、MySQL 以及 SQL Server基础创建数据库CREATE DATABASE database-name 删除数据库drop database dbname 备份sql server 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', ...
数据库常用的
sql语句
大全--sql
每个
SQL语句
都是亲身实验验证的,并且经过自己的思考的。能够保证
sql语句
的可运行性。
sql语句
的命令不区分大小写,但储存的数据是区分大小写的。在这里我们统一使用英文小写进行命令编辑。如果喜欢大写的可以使用...
SQL常用语句大全
SQL常用语句大全
一种基于Mybatis检测
sql语句
合法性的方法
在使用Mybatis技术研发的数据库
应用
软件中,软件的代码结构设计是这样的:即软件代码设计中,每个模块功能关联与之对应的数据库操作程序单元即MappedStatement接口,包含一条或多条
sql语句
的XML文件,与xml文件配对...
MySQL
56,679
社区成员
56,709
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章