Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
Php 移动订单_Php_Mysql - Fatal编程技术网

Php 移动订单

Php 移动订单,php,mysql,Php,Mysql,我有一张mysql表 我想使用php将一个值从一列“剪切并粘贴”到另一列。像这样: mysql_query("UPDATE table1 SET a1=a2,a2='' WHERE colid=3 LIMIT 1"); 是否可以只使用上面的一条语句来实现这一点 “集合”部分中使用的元素的顺序是否重要 如果这样做不好,最有效的方法是什么?来源: 下面语句中的第二个赋值将col2设置为当前(更新的)col1值,而不是原始col1值。结果是col1和col2具有相同的值。此行为不同于标准SQL UP

我有一张mysql表

我想使用php将一个值从一列“剪切并粘贴”到另一列。像这样:

mysql_query("UPDATE table1 SET a1=a2,a2='' WHERE colid=3 LIMIT 1");
是否可以只使用上面的一条语句来实现这一点

“集合”部分中使用的元素的顺序是否重要

如果这样做不好,最有效的方法是什么?

来源:

下面语句中的第二个赋值将col2设置为当前(更新的)col1值,而不是原始col1值。结果是col1和col2具有相同的值。此行为不同于标准SQL

UPDATE t1 SET col1 = col1 + 1, col2 = col1;
单表更新分配通常从左到右进行计算。对于多个表更新,不能保证按任何特定顺序执行分配

发件人:

下面语句中的第二个赋值将col2设置为当前(更新的)col1值,而不是原始col1值。结果是col1和col2具有相同的值。此行为不同于标准SQL

UPDATE t1 SET col1 = col1 + 1, col2 = col1;
单表更新分配通常从左到右进行计算。对于多个表更新,不能保证按任何特定顺序执行分配


试过了,效果不错。但正如其他人提到的,这是一个以可维护性为代价的效率步骤


就我个人而言,我将使用高效的代码,因为它是用于非关键功能的。如果你想使用它,就要了解它的风险。

尝试过,效果很好。但正如其他人提到的,这是一个以可维护性为代价的效率步骤


就我个人而言,我将使用高效的代码,因为它是用于非关键功能的。如果您想使用它,请了解风险。

您尝试过这个吗?我想它应该可以正常工作,因为你已经在上面键入了它。我没有尝试过这个,因为我在回家之前无法找到它。只是好奇:)。所以集合中元素的顺序确实起作用了?看,根据其他答案,它听起来足够接近未定义的行为,所以我会远离它。您只需在一个事务中发布两个更新,即可获得相同的结果。事务将保证隔离、锁定和排序。如果我是你,我会牺牲效率来获得可维护性。这可能是一个模棱两可的语句,并非所有sql数据库都会以您期望的方式执行。您尝试过吗?我想它应该可以正常工作,因为你已经在上面键入了它。我没有尝试过这个,因为我在回家之前无法找到它。只是好奇:)。所以集合中元素的顺序确实起作用了?看,根据其他答案,它听起来足够接近未定义的行为,所以我会远离它。您只需在一个事务中发布两个更新,即可获得相同的结果。事务将保证隔离、锁定和排序。如果我是你,我会牺牲效率来获得可维护性。这可能是一个模棱两可的语句,并非所有sql数据库都会以您期望的方式执行。我喜欢他们说“通常从左到右进行评估”的方式,而不是说不保证顺序……我喜欢他们说“通常从左到右进行评估”的方式,而不是说不保证顺序。。。