gpt4 book ai didi

MySQL 语法错误 |变量 = 变量 + 整数

转载 作者:行者123 更新时间:2023-12-01 00:37:04 26 4
gpt4 key购买 nike

您好,我写了这个 MySQL 存储过程,但我一直收到这个语法错误

#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 '@start := @start + 3600;

END WHILE;

@start = 1505469600;
' at line 42

这是我的存储过程,由于语法错误,我还不能运行它,所以它可能有一些问题。如果您发现任何问题,如果您能帮助我,那将非常有帮助。

DELIMITER ;;

CREATE PROCEDURE insert_zone_time_range_data()

BEGIN

SET @start = 1505469600, @end = 1505483940;

WHILE @start < @end DO

WHILE @start < @end DO

INSERT INTO daily_stats_zone_visitors_time_range
(
day_epoch,
day_of_week,
time_range_hours,
venue_id,
visitors,
visitors_new
)
SELECT UNIX_TIMESTAMP(FROM_UNIXTIME(ts,'%Y-%m-%d')) AS day_epoch,
FROM_UNIXTIME(ts,'%W') AS day_of_week,
FROM_UNIXTIME(@start, '%h') + '-' + FROM_UNIXTIME(@end, '%h') AS time_range_hours,
venue_id,
COUNT(DISTINCT mac) AS visitors,
COUNT(id) AS visitors_new
FROM (
SELECT probe_request.venue_id,
probe_request.mac,
macs.id,
probe_request.ts
FROM probe_request
LEFT OUTER JOIN daily_stats_venue_mac_cache AS macs
ON probe_request.mac = macs.mac
AND probe_request.venue_id = macs.venue_id
AND macs.first_seen BETWEEN @start AND @end
WHERE probe_request.ts BETWEEN @start AND @end
GROUP BY probe_request.venue_id, probe_request.mac
) AS temp
GROUP BY venue_id;

@start = @start + 3600;

END WHILE;

@start = 1505469600;
@end = @end - 3600;

END WHILE;

END;
;;

我将 DELIMITER ;; 添加到我的脚本的顶部,因为我在设置变量时一直遇到语法错误,这似乎可以解决问题。老实说,我不知道为什么,但那一点现在似乎起作用了。

由于错误,我没有任何结果可以告诉你,对此深表歉意。非常感谢你的帮助

最佳答案

要将值设置为变量,您必须使用 Set 关键字。

这里是

   set @start = @start + 3600

关于MySQL 语法错误 |变量 = 变量 + 整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46320491/

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