SQL请参阅SET语句右侧的列

时间:2014-03-08 17:31:00

标签: mysql sql

以下是否在SQL(理论)中有效?

UPDATE Classes
SET bore = bore * 2.5;

我找不到一个说明这是否有效的来源。

这应该将bore属性中的每个条目乘以2.5。如果没有,有没有办法将列乘以标量并更新?

2 个答案:

答案 0 :(得分:1)

SQL是正确的,请参阅下面链接中的SQL小提琴示例。它创建表,插入一些值并使用SQL更新表。

See this SQL fiddle for example

答案 1 :(得分:1)

这是有效和正确的。您要为bore列的每一行分配一个新值,将当前值乘以2.5。这在UPDATE语句中完全没问题。 MySQL文档有一个类似的例子:

  

如果从表中访问要在表达式中更新的列,   UPDATE使用列的当前值。例如,以下语句设置col1>超过其当前值:

UPDATE t1 SET col1 = col1 + 1;

然后您可以假设这是有效的。