Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我希望在sql中使用while循环_Mysql_Sql Server_Loops_While Loop - Fatal编程技术网

Mysql 我希望在sql中使用while循环

Mysql 我希望在sql中使用while循环,mysql,sql-server,loops,while-loop,Mysql,Sql Server,Loops,While Loop,我已经在SQLServer中使用了下面的代码,它工作正常,与我在mysql中尝试使用的代码相同,但我收到了错误消息 1064您的sql systex中存在错误;请查看与您的mysql服务器版本对应的手册,以获取正确的systax,以便在第1行的“Declare@var Table quantity int,width varchar255 Insert@var Select”附近使用 在mysql中创建临时表 create temporary table var( quantity int, w

我已经在SQLServer中使用了下面的代码,它工作正常,与我在mysql中尝试使用的代码相同,但我收到了错误消息

1064您的sql systex中存在错误;请查看与您的mysql服务器版本对应的手册,以获取正确的systax,以便在第1行的“Declare@var Table quantity int,width varchar255 Insert@var Select”附近使用


在mysql中创建临时表

create temporary table var( quantity int, width varchar(255) );
create temporary table var1(quantity int, width varchar(255));
将数据插入临时表

insert into var(quantity, width )
SELECT DISTINCT vtiger_inventoryproductrel.quantity, vtiger_inventoryproductrel.width From vtiger_inventoryproductrel
要从mysql表中读取数据,请不要使用游标。

另外,var no contain列id

MySQL中的临时表不是Microsoft SQL Server

它们有非常不同的存储过程语言。与微软相比,MySQL的存储过程语言在很多方面都是有限的,功能也不那么强大。大多数MySQL用户根本不编写存储过程,更喜欢用PHP、Ruby、Python、Java、C或其他喜欢的语言在应用层编写业务逻辑

以下是与示例过程相关的几点:

MySQL没有表类型。不能将变量声明为表

用于为语句中的变量赋值,而不是INSERT

用于将查询结果分配给变量

存储过程中的每个语句都需要分号;终结者

您不能选择。。。FROM@var.不支持将变量作为表名。您可以通过将@var连接到一个字符串中,然后将该字符串用作一个字符串来实现这一点


这并不是一个完整的列表,列出了在MySQL中运行此过程需要更改的内容,它只是差异的一个示例。

您的语法完全错误。。。错误从一开始就存在,与while循环没有关系。你也应该把它写在一个过程中。当你按照错误信息的建议检查手册时,你发现了什么。谢谢你的回复,我会试试这个
insert into var(quantity, width )
SELECT DISTINCT vtiger_inventoryproductrel.quantity, vtiger_inventoryproductrel.width From vtiger_inventoryproductrel