一直以来不怎么用mysql,今天碰到一个问题:
create table tbl1(
id int,
v int,
v1 int,
v2 int
);
insert into tbl1(id,v,v1,v2) values(1,0,0,0);
接着执行
update tbl1
set v =v+1 ,v1= v+1, v2 = v+2
where id=1;
预想的结果是:
1,0,0,0 变成
1,1,1,2
可是执行结果却是:
1,1,2,3
只有调整成
update tbl1
set v1= v+1, v2 = v+2,v =v+1,
where id=1;
才对了。
可是同样的语句,informix和sqlserver上set无论次序如何结果都是 1,1,1,2
难道mysql连这点东西都无法保障吗?
问题补充魔力猫咪 写道
没你这么用的。不同的SQL分析程序会产生不同的执行顺序。等于你现在就假定了这3个赋值其会按照从左到右或者从右到左执行。产生了顺序依赖。
如果人家的SQL分析器改一下,你这个代码的计算就全乱了。SQL不是顺序执行的语言。
这种用法应该很常用,其实本意是引用该行数据的原始值,这里我为了说明问题简化处理了。
因为我们有个项目中的一条sql语句就是类似的用法,一直以来在oracle,mssqlserver,informix数据库上都能正常运行,但是移植到mysql时就发现结果不是预料的。
我对mysql不是很了解,但mysql与众不同只能说是mysql的问题,不能说是人皆醉我独醒吧。
相关推荐
在Centos上部署项目发现一个奇怪的问题,数据库连接一直抛异常。于是花了两个小时搜了各种数据库连接异常导致的原因,最终问题得以解决。同时,把解决过程中搜集到的异常信息汇总一下,当大家遇到类似的问题时,给...
找到正确的配置文件后,可以将其复制到一个适合的位置,如 `/etc/my.cnf`,并进行编辑。使用文本编辑器(如 `vi`)打开该文件,并添加或修改以下配置项: ```ini [mysqld] default-character-set=utf8 [client...
这两个星期里一直都在忙于一件事儿,就是数据库的迁移问题。没有做的时候感觉这是一件十分轻松的事儿,可是等到实实在在去做去实现的时候,自己...这里我也是在网上找了一个现成的工具:oracletomysql,它是只能为我们
MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),具有高性能、可靠性和易用性的特点。它通常被用于存储网页、网站应用的后端数据以及企业级的解决方案中。MySQL 5.7.14是该数据库软件的一个版本。在该版本...
今天测试合服脚本的时候,遇到一个很奇怪的问题。Mysql报ERROR: ERROR 1615 (HY000): Prepared statement needs to be re-prepared 经过测试,发现不是合服脚本的问题。经过一番搜索。发现原来是mysql的变量值设置...
在MySQL数据库中,查询数据的一致性至关重要,但有时可能会遇到一些奇怪的问题,例如在本例中,使用`SELECT *`和`SELECT`指定字段查询同一个表时,得到的结果记录数不一致。这种情况通常暗示着数据库可能存在某种...
在开发一个简单的Java Web应用接口,用于删除包含中文字段的数据库记录时,开发者遇到一个奇怪的现象:尽管接口没有返回错误,但实际的数据并没有被删除。开发者尝试在本地环境中使用相同的代码执行删除操作,发现...
但很多人可能会遇到一些问题,比如创建用户成功,但是却无法登录。 无法登陆一般就两个原因。第一,远程访问端口没开,第二个原因就是密码错误了(很奇怪,我们登录时的密码明明是正确的,但还是会提示密码错误,我...
例如,在给定的部分内容中提到了使用MySQL和PHP时遇到的乱码问题,这主要涉及数据库连接和查询时的字符集设置。 #### 二、MySQL字符集管理 MySQL支持多种字符集,每种字符集都有其特定的应用场景。通过`SHOW ...
谁知坎坷颇多,故觉得有必要记录下来,一来为了备忘,二来...因为别人文章里言之凿凿顺利完成的安装,在笔者电脑里却就是无法运行,出的问题也是稀奇古怪,毫无道理可言。以下流程笔者走了不下10余次,其间磕磕碰碰、反
古怪问题 古怪问题汇总 代码片段 图片预处理 mvvm 实现 dom 操作封装 剪切板操纵 mocha 在浏览器中测试 es6 代码 监听用户离开页面 监听页面是否可见 gulp 配置 kafka clickhouse elasticsearch mysql linux nginx ...
如果您的论坛遇到一些奇怪的问题,可用本插件检查数据库结构,并作一定程度上的修复。 适应版本:Discuz 2.5 sp1 安装难易:简单 效率影响:无(后台插件) 资源占用:无(后台插件) 修改文件:无...
文章中提到了一个具体的案例:在部署了一个基于LNMP(Linux + Nginx + MySQL + PHP)架构的网站之后,原本运行平稳的服务器突然出现了CPU占用率飙升至100%的情况。进一步通过`top`命令观察,发现是php-fpm进程导致的...
3. **插件冲突**:如果遇到奇怪的问题,尝试禁用部分插件看是否能解决问题。 4. **界面卡顿**:调整显示设置,降低UI元素复杂度。 5. **更新失败**:检查网络连接状态,或者手动下载更新文件进行安装。 通过上述...