我需要为MySQL数据库运行一些脚本。而且我每次运行查询时都需要调整查询中的值。但是,我需要在两个不同的地方指定相同的值。我不想意外地保留一个值不变。有没有办法在脚本中将值指定为常量?我只有数据库读取权限。我无法通过搜索找到信息。谢谢。
最佳答案
您可以使用MySQL @variables或通过简单的select语句作为第一个表来执行所需的操作,并且不使用ON子句进行连接(因此使用交叉联接),但是只有1条记录的笛卡尔结果将永远不会创建重复项。然后,您可以始终使用该列。例如...
select
from
( select @someNumber := 123,
@someDate := '2017-07-23' ) sqlVars,
OtherTable OT
where
OT.SomeNumberField = @someNumber
OR OT.OtherDateField = @someDate
但是您可能可以做类似列的操作,例如
select
from
( select 123 as someNumber,
'2017-07-23' as someDate ) sqlVars,
OtherTable OT
where
OT.SomeNumberField = sqlVars.someNumber
OR OT.OtherDateField = sqlVars.someDate
当然,到多个表的标准联接,左联接等都应该能够以表的任何一种方式看到列,因此表在列表的下游都是可见的。
关于mysql - 如何在MySQL查询中定义常量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45271522/