作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果某个列在我提供的列表中有一个值,我正在尝试编写一个更新表中行的查询:
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 IN ('x', 'y', 'z');
我遇到语法错误,但我知道这应该是可能的。它本质上是执行以下 3 个命令的单个命令:
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 = 'x';
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 = 'y';
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 = 'z';
值 xyz 由用户动态设置,并且可能有任意数量的值(或者我会用冗长而糟糕的方式对其进行编码并完成它。我能找到的唯一信息 < em>IN 子句与子查询有关。有人可以帮我重写这个查询吗?
非常感谢。
最佳答案
您应该发布精确 错误消息。错误消息将提供有关查询的哪一部分混淆了解析器的线索。
某些值 x、y、z 是否包含引号作为值的一部分?你可能有不平衡的报价。例如以下显然是语法错误:
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 IN ('O'Reilly', 'Smith', 'Jones');
提供更多信息,我将使用更多故障排除建议来编辑此答案。
关于mysql - 将 IN 子句与具有指定值的 MySQL 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/405583/
我是一名优秀的程序员,十分优秀!