更改表的自动增量值的过程

6rvt4ljy  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(305)

我想写一个程序,在执行另一个程序后,改变表中的自动增量值。问题是程序创建了,但没有工作。尝试运行时出现错误#1210-要执行的参数不正确。我在link中发现了类似的问题:在mysql中通过变量设置auto\ u increment value,但这对我不起作用。
我尝试将@v\u值更改为v\u值(普通变量,而不是@variable)。我还尝试在@v\u sql中使用“?”,但不起作用。我尝试更改“读取sql数据”,但没关系。帮助解决问题。

DELIMITER //
CREATE PROCEDURE check_increment_value()
READS SQL DATA
BEGIN
SET @v_value = (SELECT MAX(id_version)+1 FROM versions);
SET @v_sql = CONCAT('ALTER TABLE `wersje` AUTO_INCREMENT = ',@v_value);
PREPARE st FROM @v_sql;
EXECUTE st USING @v_value;
END
//

感谢您的帮助:)

a1o7rhls

a1o7rhls1#

通过字符串插值传递参数,而不是通过prepared语句,因此不需要指定 using 条款:

EXECUTE st;

相关问题