如何在mysql脚本中为变量赋值?

cs7cruho  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(295)

我有下面的脚本,但它总是返回null。

SELECT 
    @PRICE_LARGE_PRICE = PRICE_LARGE_PRICE,
    @PRICE_SMALL_PRICE = PRICE_SMALL_PRICE
FROM
    prices
WHERE
    PRICE_LISTING_ID = 60;

SET @ITEM_PRICE = (CASE Size WHEN GivenLargeSizeName THEN @PRICE_LARGE_PRICE 
WHEN GivenSmallSizeName THEN @PRICE_SMALL_PRICE 
ELSE null 
END);

这里的问题是

@PRICE_LARGE_PRICE = PRICE_LARGE_PRICE,
@PRICE_SMALL_PRICE = PRICE_SMALL_PRICE

表正确返回price\u large\u price和price\u small\u price,但赋值不起作用。所以这个案子失败了。
感谢您的帮助。

wztqucjr

wztqucjr1#

你需要使用 SELECT ... INTO :

SELECT PRICE_LARGE_PRICE, PRICE_SMALL_PRICE
INTO @PRICE_LARGE_PRICE, @PRICE_SMALL_PRICE
FROM prices
WHERE PRICE_LISTING_ID = 60;

注意,您需要确保查询只返回一行数据,使用 LIMIT 1 如有必要。

jum4pzuy

jum4pzuy2#

SELECT 
    @PRICE_LARGE_PRICE:=PRICE_LARGE_PRICE,
    @PRICE_SMALL_PRICE:=PRICE_SMALL_PRICE
FROM
    prices
WHERE
    PRICE_LISTING_ID = 60;

在mysql中,只需在等号前加冒号

相关问题