簡體   English   中英

更改表上的auto_increment值的過程

[英]Procedure to change auto_increment value on table

我想要寫過程,該過程在執行另一個過程后會更改表中的自動增量值。 問題是程序已創建,但不起作用。 當我嘗試運行時,出現錯誤#1210-EXECUTE的參數不正確。 我在鏈接中發現了類似的問題: 通過MySql中的變量設置AUTO_INCREMENT值 ,但是它對我不起作用。

我嘗試將@v_value更改為v_value(普通變量,而不是@variable)。 我也嘗試使用'?' 在@v_sql中,但也無法正常工作。 我嘗試更改“ READS SQL DATA”,但無論如何。 幫助出現問題的地方。

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
//

謝謝你的幫助 :)

您通過字符串插值而不是通過prepared語句傳遞參數,因此不需要指定using子句:

EXECUTE st;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM