关于mysql存储过程变量的问题?
关于mysql存储过程变量的问题?变量什么时候前面要加@符号,用declare声明的变量与前者有和区别,我不懂?
@是用来屏蔽错误或警告的,当前面加了@符号后,若此处有错或警告,网页将不显示出来。 前面加@代表会话变量,作用域是当前登录的账户,declare申明的变量只在存储过程内部有效。 通过下面的例子你就能明白: SQL code: mysql> create procedure pro1() -> begin -> declare d int; -> select max(id) into d from o; -> set @dd=0; -> select max(id) into @dd from o; -> end; -> // Query OK, 0 rows affected (0.05 sec) mysql> call pro1; -> // Query OK, 0 rows affected (0.00 sec) mysql> select @dd; -> // +------+ | @dd | +------+ | 2 | +------+ 1 row in set (0.00 sec) mysql> select d// ERROR 1054 (42S22): Unknown column 'd' in 'field list'引用 关于mysql存储过程变量的问题?变量什么时候前面要加@符号,用declare声明的变量与前者有和区别,我不懂? 很对!引用 @是用来屏蔽错误或警告的,当前面加了@符号后,若此处有错或警告,网页将不显示出来。 刚才引用错了
相关问答:
mySql5.1的 mysql command line client命令窗口每次一点它,它就一闪而过,不会显示了.这是什么问题? 在你的WINDOWS上,先按 [开始], 然后 [运行] ,输入 cmd 然后回车 然后再在这个DOS窗体中, cd C:\Program ......
代码如下: $sql = "select count(*) from admin"; $result = mysql_query($sql); $num=mysql_num_rows($result); echo $num; 为什么不管我的记录有多少条,都是输出1, 我想输出查询的 ......
问题是这样的,现在有个用户mysql 密码为空,然后我先把它改成123,这样写为什么不能改mysqladmin -u mysql password 123,结果出现mysqladmin: Can't turn off logging; error: 'Access denied; you need t ......
大家好,我在创建索引时,出现错误提示,代码如下: create uique index stu_cou_index on student_info.results (student_id, course_id); show index from student_info.results; 保存为index ......
在mysql中repair table xxxxx;提示 mysql> repair table recordTbl; +-----------------+--------+----------+----------------------------------------------+ | Table   ......