SQL中的“ UPDATE table SET column1 = value AND column2 value WHERE条件”是什么意思?

国王国王

如果将UPDATE语句中的“,”替换AND为,SQL中的含义是什么?

正常更新声明:

UPDATE table 
SET column1 = value , 
    column2 = value 
WHERE condition

我的问题陈述:

UPDATE table 
SET column1 = value AND column2 = value 
WHERE condition

受影响的行似乎有所不同,所以我想知道我的问题语句在SQL中意味着什么?

原始测试数据

插入查询后(原始查询):更新测试集column1 = 2,column2 = 5

正常更新

插入查询后(从原始查询开始):更新测试集column1 = 2 AND column2 = 5

我的问题陈述

如果我插入查询(来自原始数据库):更新测试集column1 = 2 AND = 4

输出

凯斯·贾德

2 AND b = 1尽管某些数据库对它进行了评估,但另一些数据库却没有对它进行编写,但这可能是错误的

如果您打算一次性设置多列,则必须使用逗号

如果使用此构造,则也许某些数据库将根据位逻辑运算来处理它,或者它们会将任何非零值视为true / false,将任何零视为false / true,而其他数据库将根据布尔逻辑运算来处理它

在示例草莓中,请友好地发布:https : //www.db-fiddle.com/f/3KawkrD8QfjJu6YyfuzB7U/0

将数据库设置为MySQL并运行它;它可以解决-MySQL可能会将2视为true,因此操作变为:

SET c = true and true --when b = 1
SET c = true and false --when b=0

您可以看到c列根据实际情况设置为1或0

SET c = (2 AND (b = 1)) 
        ^^^^^^^^^^^^^^^
        This whole thing is turned into a value. 
        for C, it does NOT set column B at all

现在将数据库更改为Postgres并再次运行

这次您得到一个错误,AND期望布尔操作数,并且整数2是不可接受的

因此在Postgres中虽然可以接受:

SET d = (c=1 AND b=2) --sets a true or false value for d

您的其他表格不可接受

-

长话短说,您可能打算设置多个列:使用逗号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将numpy数组转换为((value0,row0,column0),(value1,row0,column1)...)的形式?

通过比较共享value2的元素的value1从数组中删除对象

Value2的基础类型是什么?

如果value1 == value2在python中不是None,比较如何工作?

我如何实现类似np.where(['value1','value2']中的df [varaible])

在SQL Server中评估“ value1不与value2不同”的最佳方法

在pyspark中检测某些列值何时从value1更改为value2

如何将pytorch张量转换为诸如((value0,row0,column0),(value1,row0,column1)...)的视图?

DynamoDB等效于SQL的键或属性'not in(“ value1”,“ value2” ...)'

How to check if a column value is within a range of another two for each row in data table

如何从my_table中选择MAX(column)作为max_value WHERE some_other_column =“ something”在SQL中

PostgreSQL中不存在该列(WHERE column_name = column_value)

为什么在具有较少列的data.table上,DT1 [DT2] [,value1-value]比DT1 [DT2,value1-value]快?

您有什么意思:案例状态是vhdl中的vale1 => state <= value2时?

ActiveRecord查询ModelName.where(“ column_A_value =?”,column_B_value)

SQL-列表列表中的(value1,value2)

在SQL表中具有array(value1,value2,...)的列中选择

提供 column= value 并选择最小日期列,比较 2 列

SQL WHERE IS NULL 或 column = 'value'

获取 simplejson.scanner.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

Excel: 'AND' filter pivot table by value found in the same column

Getting java.sql.SQLException: Column count doesn't match value count at row 1

Add a Max value calculated column to a Where clause?

为什么python JSON模块显示错误:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Assign value to a column where column name is a concatenation of other columns' values

在 Kusto 中解析 `key1=value1 key2=value2`

SQL 3 query Table 2 column value in Table 1 in condition

繼續出現此錯誤: JSONDecodeError: Expecting value: line 2 column 1 (char 1)

SQL:表中的多个列具有相同的条件:WHERE COL1 LIKE 'VALUE' OR COL2 LIKE 'VALUE'