Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 根据列的值更新列_Mysql - Fatal编程技术网

Mysql 根据列的值更新列

Mysql 根据列的值更新列,mysql,Mysql,要更新表,我们使用以下方法: UPDATE `table` SET column = value WHERE column = value 有没有办法根据列的值更新列?例如: 表“test”有两列,分别称为“one”和“two” 我将它们设置为:“1”到10,“2”到20,我希望更新值为10的列,这是变量,我无法确切知道它是哪列 谢谢首先查询表: col1=10或col2=10的myTable中选择* 然后,您将需要服务器端代码(如php、ruby、python等)来确定哪个列具有所需的值,并

要更新表,我们使用以下方法:

UPDATE `table` SET column = value WHERE column = value
有没有办法根据列的值更新列?例如:

表“test”有两列,分别称为“one”和“two”

我将它们设置为:“1”到10,“2”到20,我希望更新值为10的列,这是变量,我无法确切知道它是哪列


谢谢

首先查询表:

col1=10或col2=10的myTable中选择*

然后,您将需要服务器端代码(如php、ruby、python等)来确定哪个列具有所需的值,并且您可以基于此构建一个新的更新查询:

updatemytable set col1=20


但是,我想不出哪种情况下这是一种有效的数据管理方法。您可能需要重新考虑数据库的设计方式。

查找
IF
语法。也许它可以用于更新查询中的分配。

您可以执行两次更新,每列一次

UPDATE test SET one = ... WHERE one = 10;
UPDATE test SET two = ... WHERE two = 10;

此类问题有时表明设计不佳,即缺乏规范化