作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MySQL 游标的 FETCH 不适用于时间数据类型
给定光标相关代码
declare Normaltimeopen time;
declare cursorName cursor for select statement;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;
open cursorName;
Fetch cursorName into Normaltimeopen ;
IF flag = 1 THEN
CLOSE cursorName ;
END IF;
close cursorName;
因此,Normaltimeopen 变量设置为“00:00:00”,但表包含值“16:00:00”。我用“mysql调试器”进行了调试,但没有得到任何线索。
最佳答案
我无法重现该问题,测试代码按预期工作:
/*Table structure for table `table1` */
DROP TABLE IF EXISTS `table1`;
CREATE TABLE `table1` (
`tablenormaltimeopen` TIME DEFAULT NULL
) ENGINE=INNODB;
/*Data for the table `table1` */
INSERT INTO `table1`(`tablenormaltimeopen`) VALUES ('16:00:00');
/* Procedure structure for procedure `sp_test` */
/*!50003 DROP PROCEDURE IF EXISTS `sp_test` */;
DELIMITER $$
CREATE PROCEDURE `sp_test`()
BEGIN
DECLARE `flag` TINYINT(1) DEFAULT 0;
DECLARE `Normaltimeopen` TIME;
DECLARE `cursorName` CURSOR FOR
SELECT `tablenormaltimeopen` FROM `table1`;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET `flag` := 1;
OPEN `cursorName`;
FETCH `cursorName` INTO `Normaltimeopen`;
IF NOT `flag` THEN
SELECT `Normaltimeopen`;
END IF;
CLOSE `cursorName`;
END$$
DELIMITER ;
关于MySQL 游标的 FETCH 不适用于时间数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22142430/
我是一名优秀的程序员,十分优秀!