Settare AUTO_INCREMENT in una Stored Procedure in MySQL e MariaDB

Mattepuffo's logo
Settare AUTO_INCREMENT in una Stored Procedure in MySQL e MariaDB

Settare AUTO_INCREMENT in una Stored Procedure in MySQL e MariaDB

In sostanza devo settare l'AUTO_INCREMENT di una tabella in maniera dinamica a seconda di quanti records ha un'altra tabella.

Per fare ciò ho deciso di usare una Stored Procedure; il forum di html.it mi ha dato la dritta giusta per farlo.

Questa la mia SP funzionante:

DELIMITER //
DROP PROCEDURE IF EXISTS set_articoli_ecomm_auto_incr //
CREATE PROCEDURE set_articoli_ecomm_auto_incr()
    NO SQL
BEGIN
    DECLARE ai INT DEFAULT 0;

    SET ai = (SELECT MAX(product_id) + 1 FROM oc_product);

    SET @query = CONCAT("ALTER TABLE articoli_ecommerce AUTO_INCREMENT = ", ai, " ");
    PREPARE comando FROM @query;
    EXECUTE comando;
    DEALLOCATE PREPARE comando;
END

Testata sia su MySQL che su MariaDB.

Enjoy!


Condividi

Commentami!