在MySQL的COALESCE中选择
发布时间:2020-05-23 03:59:28 所属栏目:MySql 来源:互联网
导读:我正在尝试在MySQL中执行以下操作:UPDATE x SET y = COALESCE(SELECT z FROM table WHERE a = b AND c = d AND e = f LIMIT 1, SELECT z FROM table WHERE a = b AND c = d LIMIT 1
|
我正在尝试在MySQL中执行以下操作:
这对我来说听起来很有效.我正在尝试使用最合适的值更新列.如果我能找到符合3个标准的记录 – >这是我需要的那个.另外一个适合2个标准,否则记录只匹配一个标准. 我可以在3个更新查询中执行此操作,但我不明白为什么这不起作用.根据manual: COALESCE返回列表中的第一个非NULL值,如果没有非NULL值,则返回NULL. 这正是我需要的.但它给出以下错误: 错误代码:1064.您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在“SELECT”附近使用正确的语法 我在这里错过了什么吗? 最佳答案 您的问题可能是您获得的子选择返回的z值超过1 z.你只能得到一个.你可以尝试:
但是,您的特定语法错误是您需要围绕选择括号.所以这是语法上正确的版本: (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c#-无法使用Ubuntu连接到Wine中部署的.NET应用程序的MySQL
- php – 根据另一个值更新最小值 – MySql
- php – 如何将包含引号的字符串插入数据库?
- mysql – 大量记录的bulk_create的最佳实践
- php – 如何从eloquent,silex中的中间表中获取数据
- SQL查询中没有重复项
- 我可以在函数中使用MySQL PREPARE语句来创建具有可变表名的
- MySQL:如何将varchar(255)UNIQUE列更改为UNIQUE Text NOT
- mysql – 以高级方式选择WHERE
- MYSQL教程Slave memory leak and trigger oom-killer
