mysql - 更改表上的 auto_increment 值的过程
问题描述
我想编写程序,在执行另一个程序后更改表中的自动增量值。问题是创建了程序,但不起作用。当我尝试运行时出现错误 #1210 - EXECUTE 的参数不正确。我在链接中发现了类似的问题:通过 MySql 中的变量设置 AUTO_INCREMENT 值,但它对我不起作用。
我尝试将@v_value 更改为v_value(普通变量,而不是@variable)。我也尝试使用'?在@v_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
//
谢谢你的帮助 :)
解决方案
您通过字符串插值而不是通过准备好的语句传递参数,因此您不需要指定using
子句:
EXECUTE st;
推荐阅读
- c# - 如何将三个不同的管理员用户链接到一篇文章?
- python-3.x - 我怎样才能松开单词之间的空格而不松开短语之间的空格
- regex - 用 Google BigQuery 中的文字替换正则表达式字符
- java - JDBC 不会从 SELECT 返回超过 21 亿条记录
- python - 如何从 qcombobox 获取 itemdata?
- c++ - 变量定义,初学者辅助
- mysql - Docker:无法启动 mysql
- r - 为什么在 R 中进行情绪分析(colSums + mutate_impl)时出现“'X' must be numeric'”错误?
- javascript - 从 json 响应正文中提取数据
- html - md-autocomplete 将结果显示为列表而不是下拉列表