gpt4 book ai didi

MySQL 查询错误 IF、END IF

转载 作者:行者123 更新时间:2023-11-30 01:09:39 25 4
gpt4 key购买 nike

我在使用 IF、END IF 进行 MySQL 查询时遇到问题

我编写了这样的代码:

SET @columnCnt = 1;
SET @indexCnt = 1;
SET @dataCnt = (SELECT COUNT(*) FROM `test`);
WHILE @indexCnt < @dataCnt DO
IF @indexCnt != @columnCnt THEN
IF (SELECT COUNT(*) FROM `test` WHERE `idx` = @columnCnt) > 0 THEN
UPDATE `test` SET `idx` = @indexCnt WHERE `idx` = @columnCnt;
@indexCnt = @indexCnt + 1;
END IF;
END IF;

@columnCnt = @columnCnt+1;
END WHILE;

我得到这样的错误。

MySQL Message :
#1064 - 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 @indexCnt < @dataCnt DO
IF @indexCnt != @columnCnt THEN
IF ' at line 1

如何解决这个问题?

最佳答案

你可以尝试这样的事情;

SET @columnCnt = 1
SET @indexCnt = 1
SET @dataCnt = (SELECT COUNT(*) FROM `test`)
WHILE (@indexCnt < @dataCnt)
Begin
IF @indexCnt <> @columnCnt
Begin
IF (SELECT COUNT(*) FROM `test` WHERE `idx` = @columnCnt) > 0
Begin
UPDATE `test` SET `idx` = @indexCnt WHERE `idx` = @columnCnt
SET @indexCnt = @indexCnt + 1;
End
End

SET @columnCnt = @columnCnt+1
End

关于MySQL 查询错误 IF、END IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19544260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com