我想在查询的from部分使用一个用户定义的变量,如下例所示:
SET @year = 2013, @ID3_1 = 107001001, @TableSource = "S_EXPO_RISQUES_METEO"; SELECT @ID3_1, @year, TS.ID_TER, TS.VALUE FROM @TableSource TS;
我怎样才能产生与其他语句相同的结果?
8ulbf1ek1#
你不能那样做™. 查询中的列或表的命名不允许使用变量。解决办法?使用你的编程语言(php?java?)来创建查询字符串。或者,使用mysql服务器端准备的语句,不要与php或java准备的语句混淆。读这个。https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
xtfmy6hx2#
试着这样做,不使用变量就可以得到一个等价的结果。
SELECT 107001001 ID3_1, 2013 year, TS.ID_TER, TS.VALUE FROM S_EXPO_RISQUES_METEO TS;
或者用变量:
SET @year = 2013, @ID3_1 = 107001001; SELECT @ID3_1, @year, TS.ID_TER, TS.VALUE FROM S_EXPO_RISQUES_METEO TS;
2条答案
按热度按时间8ulbf1ek1#
你不能那样做™. 查询中的列或表的命名不允许使用变量。解决办法?使用你的编程语言(php?java?)来创建查询字符串。
或者,使用mysql服务器端准备的语句,不要与php或java准备的语句混淆。读这个。https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
xtfmy6hx2#
试着这样做,不使用变量就可以得到一个等价的结果。
或者用变量: