mysql - 将特定列存储和检索到包含存储过程中单行的结果集的变量中
问题描述
我需要根据存储在不同列上的值将特定列的值存储到单独的变量中。
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 到底是哪种类型,但你应该明白
推荐阅读
- webpack - 我为这两种文件类型添加了 LESS 和 CSS 加载器。这是 webpack 的开销吗?
- oracle - 根据Oracle中的日期指定条件获取数据
- javascript - 需要将内容占位符 id 与 javascript 代码的 div id 连接起来
- mysql - UPDATE 触发器导致死锁 - Mysql 5.6
- css - split the div into several equal parts
- codeigniter - 想要使用单个 db 对象使用 for 循环打印两个不同的 div
- node.js - 如何在错误 SSH Exec node.js 上设置超时
- java - 让 .set 使用 Java 中的对象数组
- xml - Android Studio XML 文件预览无法正常工作
- javascript - 无法将 v-model 与 vue-date-picker 绑定