我有以下脚本,但它始终返回 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_LARGE_PRICE 和 PRICE_SMALL_PRICE,但分配不起作用。因此 CASE 失败。
感谢任何帮助。
最佳答案
您需要使用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
。
关于mysql - 如何将列值分配给 mySQL 脚本中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53386887/