gpt4 book ai didi

MySQL:无法使用存储过程插入 CURRENT_TIMESTAMP - 动态语句

转载 作者:行者123 更新时间:2023-11-29 11:00:35 26 4
gpt4 key购买 nike

当我调用以下存储过程时,出现此错误:ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“01:53:26,1)”附近使用的正确语法

CREATE PROCEDURE `update_xyz` (IN col_name VARCHAR(30), IN ip_add VARCHAR(24), IN lat FLOAT , IN longit FLOAT)
BEGIN
SET @col = col_name;
SET @a_ip = ip_add;
SET @lati = lat;
SET @longitu = longit;
IF ROW_COUNT()=0 THEN
SET @time1 = CURRENT_TIMESTAMP();
SET @sql_text2 = concat('INSERT INTO table1 (ip,latitude,longitude,date,',@col,') VALUES (',INET_ATON(@a_ip),',', @lati,',', @longitu,',', @time1,',1)');
PREPARE stmt2 FROM @sql_text2;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;
END IF;
END

但是,如果我删除@time1,插入将继续,并将 DATETIME 字段保留为 NULL。

最佳答案

  change
//SET @time1 = CURRENT_TIMESTAMP();//remove this line

SET @sql_text2 = concat('INSERT INTO table1 (ip,latitude,longitude,date,',@col,') VALUES (',INET_ATON(@a_ip),',', @lati,',', @longitu,',', @time1,',1)');

replace this line.

SET @sql_text2 = concat('INSERT INTO table1 (ip,latitude,longitude,date,',@col,') VALUES (',INET_ATON(@a_ip),',', @lati,',', @longitu,',', CURRENT_TIMESTAMP(),',1)');

关于MySQL:无法使用存储过程插入 CURRENT_TIMESTAMP - 动态语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42360627/

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