我需要为MySQL数据库运行一些脚本。我需要在每次运行时调整查询中的值。但是,我需要在两个不同的地方指定相同的值。我不想意外地保持一个值不变。有没有办法在脚本中将值指定为常量?我只在数据库中拥有读权限。我无法通过搜索找到这些信息。感谢。
答案 0 :(得分:0)
如果您在查询开头定义变量,则可以在整个过程中使用该变量。
答案 1 :(得分:0)
您可以使用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
当然,对多个表的标准连接,左连接等应该能够以列表的方式查看列,作为列表中的第一列,因此它在所有下游都可见。