我需要根据存储在不同列上的值将特定列的值存储到单独的变量中。
DELIMITER $$
USE `someDB`$$
DROP PROCEDURE IF EXISTS `GetFeedSetting`$$
CREATE PROCEDURE `GetFeedSetting` (IN `feed_setting_user_id` BIGINT) READS SQL DATA DETERMINISTIC SQL SECURITY INVOKER
BEGIN
DECLARE noOfHits INT (11);
SELECT
`read_setting_status`,
`write_setting_status`,
`write_cmt_setting_status`,
`like_setting_status`
FROM
`feed_item_setting`
WHERE `user_id` = feed_setting_user_id;
END $$
DELIMITER ;
从上面的代码片段中,检索到的结果将始终位于结果集中的一行中。
我应该如何将变量分配给以下这些列
read_setting_status
、write_setting_status
、write_cmt_setting_status
和 like_setting_status
为了以数组的形式存储值并通过索引访问它。我应该如何将值分配给单独的变量,以便根据分配给变量的列名执行一些进一步的操作
最佳答案
您可以像这样存储选择数据
DECLARE myread_setting_status DOUBLE;
SELECT `read_setting_status`, INTO myread_setting_status FROM
`feed_item_setting`WHERE `user_id` = feed_setting_user_id;;
当然我不知道 read_setting_status 到底是哪种类型,但你应该知道
关于mysql - 将特定列存储和检索到包含存储过程中单行的结果集的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57035139/