社区
MySQL
帖子详情
update值范围限定的问题。
madmanahong
2011-04-06 06:05:36
我现在想对money一列做数据范围的处理。譬如
update table_x set money = money + 100 where a=0;
update table_x set money = money - 100 where a=0;
我想将money限制在0~10000只内
如果做呢?
只能写触发器是不是??有没有其他好的方法?
...全文
184
10
打赏
收藏
update值范围限定的问题。
我现在想对money一列做数据范围的处理。譬如 update table_x set money = money + 100 where a=0; update table_x set money = money - 100 where a=0; 我想将money限制在0~10000只内 如果做呢? 只能写触发器是不是??有没有其他好的方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
op_____
2011-04-11
打赏
举报
回复
update table_x set money = if( money+100>10000, 10000, money+100 ) where a=0;
update table_x set money = if( money-100<0, 0, money-100 ) where a=0;
ACMAIN_CHM
2011-04-07
打赏
举报
回复
[Quote]另外我使用navicat和MySQL Administrator 似乎都不能在GUI中创建触发器?[/Quote]别人是可以的。
[Quote]难道我只能通过命令行去创建吗?[/Quote]显然不是
[Quote]MySQL命令行怎么连接非本地数据库???[/Quote]看手册中MYSQL的命令工具选项参数的说明。特别看一下 -h
madmanahong
2011-04-07
打赏
举报
回复
[Quote=引用 5 楼 acmain_chm 的回复:]
引用如果做呢?
什么叫如果做?
引用只能写触发器是不是??有没有其他好的方法?显然不是只能写触发器,但不如触发器方便。
[/Quote]
写错了,应该是如何做呢?。。。。。
另外我使用navicat和MySQL Administrator 似乎都不能在GUI中创建触发器?
难道我只能通过命令行去创建吗?
MySQL命令行怎么连接非本地数据库???
madmanahong
2011-04-07
打赏
举报
回复
[Quote=引用 8 楼 acmain_chm 的回复:]
引用另外我使用navicat和MySQL Administrator 似乎都不能在GUI中创建触发器?别人是可以的。
[/Quote]
我的意思是使用类似GUI来向导式创建,譬如MySQL Administrator 有创建存储过程的按钮。
别人如果能创建拜托别人公布一下创建的方法。
navicat我找了一下确实有一个按钮可以,MySQL Administrator 没找到。。。
另外如果我想移库的话,譬如把数据库X部署到另外一台机器上。
MySQL Administrator 如何方便的把触发器也一起带走??——他有一个backup,但是我看了一下,能带走表包括数据包括存储函数。但是没有触发器。。。。
我在一台机器上创建了一个触发器,如果方便的复制到另外的机器上?
我要的是方便。c/p最好。
ACMAIN_CHM
2011-04-06
打赏
举报
回复
http://blog.csdn.net/ACMAIN_CHM/archive/2009/07/25/4380183.aspx
MySQL 中如何在触发器里中断记录的插入或更新?
ACMAIN_CHM
2011-04-06
打赏
举报
回复
[Quote]如果做呢?[/Quote]
什么叫
如果
做?
[Quote]只能写触发器是不是??有没有其他好的方法?[/Quote]显然不是只能写触发器,但不如触发器方便。
luoyoumou
2011-04-06
打赏
举报
回复
[Quote=引用 3 楼 luoyoumou 的回复:]
创建check约束!
[/Quote]
-- 但是mysql的check约束,有其语法,但是不会起作用,所以只能用触发器!
luoyoumou
2011-04-06
打赏
举报
回复
创建check约束!
iihero_
2011-04-06
打赏
举报
回复
触发器对效率的影响应该可以忽略。
madmanahong
2011-04-06
打赏
举报
回复
触发器会不会影响效率?
update
where条件中in超过1000条的解决方法
1、对该列进行限制,超过1000以内的数(自己规定),就将sql语句改为 该列 in (1,.........,999 ) or 该列 in (999,............,1998)....... 2、将这些
值
写入一张临时表,改变in条件为select * from 临时表
update
表名 set 该列 = 修改
值
from (select * from 临时表) 3、在程序...
mysql中
update
子查询,
update
子查询使用介绍
基础知识1, 关联子查询和非关联子查询在非关联子查询中,内部查询只执行一次并返回它的
值
给外部查询,然后外部查询在它的处理中使用内部查询返回给它的
值
。而在关联子查询中,对于外部查询返回的每一行数据,内部查询都要执行一次。另外,在关联子查询中是信息流是双向的。外部查询的每行数据传递一个
值
给子查询,然后子查询为每一行数据执行一次并返回它的记录。然后,外部查询根据返回的记录做出决策。如:SELECT o1...
SQL -
update
更新一个字段的一些数据为同一个
值
问题
:一个表批量修改部分记录为同一个
值
相关
问题
:一堆state只允许一个为1,其他全为0。 比如:数据库score 表只许一条记录的major的
值
为123,这一条记录的id为1,其他的major的
值
都为bbbb 解决:
update
score set major = (case when stu_id = '1' then '123' else 'bbbb' end) 注意: 如...
mysql字段只能为指定的
值
_将MySQL数据类型的
值
限制为特定
范围
(最好不是ENUM)...
我想将可以存储在字段中的数据类型
值
限制为整数
值
的特定
范围
:[0,10]。在PHP脚本中的用户输入上,我验证并清除了数据以确保其在0到10的
范围
内。但是,是否有办法通过某种数据类型或约束来确保在表决表本身中保持这种情况呢?目前,我将int
值
存储在UNSIGNEDTINYINT内,该
范围
当然是0-255。我知道ENUM是一种选择。但是,我读到使用数字时不建议这样做:http : //komlenic....
【SQL开发实战技巧】系列(九):一个
update
误把其他列数据更新成空了?Merge改写
update
!给你五种删除重复数据的写法!
本篇文章讲解的主要内容是:***你有没有经历过一个
update
把其他列数据清空了、使用merge更新合并记录、删除违反参照完整性的记录、给你五种删除重复数据的写法*** 【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。
MySQL
56,678
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章