【发布时间】:2020-10-11 19:29:20
【问题描述】:
谁能告诉我这个声明有什么不妥之处?我已经尝试了一些不同的变体,但没有一个显示为有效。我已经检查过,它说它应该是有效的,但不是。是不是因为 BETWEEN 条件?
UPDATE mytablename SET column_2 = IF({BETWEEN '1' AND '2'}, {new_value}, field_1) WHERE id=1
UPDATE mytablename SET column_2 = IF(column_1== 1{BETWEEN '1' AND '2'}, 1{12}, field_1) WHERE id=1
更新 1 我在下面尝试过,但同样的结果无效-
UPDATE mytablename SET column_2 = IF(field_1 BETWEEN 1 AND 2, 12, field_1) WHERE id = 1
更新 2 我也试过这个,但它也无效:
UPDATE mytablename SET column_2 = 12 IF(field_1 BETWEEN 1 AND 2) WHERE id = 1
更新 3 也无效。意外的“{”:
UPDATE mytablename SET column_2 = IF(field_1 BETWEEN '1' AND '2', {12}, column_2 ) WHERE id=1;
【问题讨论】:
-
是在第二次更新中的列之前的需要之间,没有它是无效的
-
@nbk 谢谢。但第二个无效。根据以下内容,{} 无效
-
你的 updat1 工作得很好,就像你的数据库中有 column_1 和 field_1 一样,l,请不要将语法错误与其他错误混为一谈,并检查错误消息
-
我确实有一个字段 1 和一个列 1,但它实际上告诉我 { 是一个意外字符,整个查询旁边的红色 X 表示它不是有效的语法
-
看我的回答我添加了一个 dbfiddle 来向你展示它的工作原理,将 fiddle 更改为实验
标签: mysql if-statement between