如何在MySQL查询

时间:2017-07-24 01:44:49

标签: mysql

我需要为MySQL数据库运行一些脚本。我需要在每次运行时调整查询中的值。但是,我需要在两个不同的地方指定相同的值。我不想意外地保持一个值不变。有没有办法在脚本中将值指定为常量?我只在数据库中拥有读权限。我无法通过搜索找到这些信息。感谢。

2 个答案:

答案 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

当然,对多个表的标准连接,左连接等应该能够以列表的方式查看列,作为列表中的第一列,因此它在所有下游都可见。