MySQL中正常sql语句出现异常的原因之一

首先 数据库信息
在这里插入图片描述

类似于SELECT 和 select 可以一样的使用

如果有一个表aa

mysql> SELECT a FROM aa;
+----------+
|     	a  |
+----------+
|    10001 |
|    10002 |
|    10003 |
+----------+

使用大写AA和上面的语句是等价的

mysql> SELECT a FROM AA; #等于SELECT a FROM aa;
+----------+
|     	a  |
+----------+
|    10001 |
|    10002 |
|    10003 |
+----------+

对于其他的,如 表中自己定义的属性等, 大小写都是等价的;

另一个例子

CREATE DEFINER=`root`@`localhost` PROCEDURE `CountPeopleOnRoute`(IN `NUMROUTE` int,OUT `PEOPLENUM` int)
BEGIN
	#Routine body goes here...
	DECLARE done INT DEFAULT FALSE;
	DECLARE retickets,maxcap INT;
	DECLARE eachNum_train INT;
	DECLARE num_train CURSOR FOR SELECT trainNum FROM vehicle_assign_route WHERE routeNum= NUMROUTE; #定义游标---车次号
  DECLARE CONTINUE HANDLER FOR not found
		SET done = TRUE;   #游标未找到就触发此条件

	SELECT trainNum FROM vehicle_assign_route WHERE routeNum=NUMROUTE;
	
	SET PEOPLENUM = 0;
	OPEN num_train; #游标打开
	
		label1: LOOP
			FETCH num_train INTO eachNum_train;
			IF done THEN
				LEAVE label1;
			END IF;
			SELECT remainTickets,maxCapacity INTO retickets,maxcap FROM vehicle WHERE trainNum=eachNum_train;
			SET PEOPLENUM = PEOPLENUM+retickets;
		END LOOP;
		
	CLOSE num_train; #游标关闭

END
MySQL是不区分大小写的
也就是说,在上面的第11行与函数参数,如果NUMROUTE换成ROUTENUM
那么SELECT trainNum FROM vehicle_assign_route WHERE routeNum=ROUTENUM;
中,WHERE条件表达式 将永远为真,无法筛选
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值