【发布时间】:2019-11-12 16:50:12
【问题描述】:
我正在尝试来自 link 的示例 while 循环
DECLARE @cnt INT = 0;
WHILE @cnt < 10
BEGIN
PRINT 'Inside simulated FOR LOOP on TechOnTheNet.com';
SET @cnt = @cnt + 1;
END;
PRINT 'Done simulated FOR LOOP on TechOnTheNet.com';
GO
但是我得到了这些错误:-
mysql> DECLARE @cnt INT = 0;
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“DECLARE @cnt INT = 0”附近使用正确的语法
mysql>
mysql> WHILE @cnt < 10
-> BEGIN
-> PRINT 'Inside simulated FOR LOOP on TechOnTheNet.com';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @cnt < 10
BEGIN
PRINT 'Inside simulated FOR LOOP on TechOnTheNet.com'' at line 1
mysql> SET @cnt = @cnt + 1;
Query OK, 0 rows affected (0.00 sec)
mysql> END;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
mysql>
mysql> PRINT 'Done simulated FOR LOOP on TechOnTheNet.com';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PRINT 'Done simulated FOR LOOP on TechOnTheNet.com'' at line 1
mysql> GO
ERROR:
No query specified
【问题讨论】:
-
您只能从存储过程执行此代码,而不能从 MySQL 命令行执行。而且,一般来说,您应该避免在 MySQL 中使用显式循环,因为 SQL 数据库是基于集合的工具,已经隐式循环表。
-
有什么方法可以从 MYSQL cli 执行 while 循环吗?
-
它的 SQL Server 教程,你正在 MySQL 上试用它。
-
我不知道,但是你又为什么要这样做?
-
实际上我有一个带有特定列(浮点值)的表。对于这一列的每一行,我想创建另一列,其行值=(old_value*3.5 +78)
标签: mysql sql while-loop