sql >> Databáze >  >> RDS >> Mysql

Použití proměnné v nastavení hodnoty tabulky mysql INNODB AUTO_INCREMENT

Zkuste:

CREATE TABLE `test_table` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 
  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1;

SET @`tmpvar` := 12345;

SET @`stmt_alter` := CONCAT('ALTER TABLE `test_table` AUTO_INCREMENT = ', @`tmpvar`);

PREPARE `stmt` FROM @`stmt_alter`;
EXECUTE `stmt`;
DEALLOCATE PREPARE `stmt`;

Ukázka SQL Fiddle

AKTUALIZACE

Můžete použít 13.5 syntaxi SQL pro připravené příkazy pro 13.1.14 CREATE TABLE Syntaxe .

SET @`tmpvar` := 12345;

SET @`stmt_create` := CONCAT('CREATE TABLE `test_table` (
    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=', @`tmpvar`);

PREPARE `stmt` FROM @`stmt_create`;
EXECUTE `stmt`;
DEALLOCATE PREPARE `stmt`;

Ukázka SQL Fiddle




  1. Chyba v MySQL při nastavování výchozí hodnoty pro DATE nebo DATETIME

  2. PostgreSQL index se nepoužívá pro dotaz na rozsahy IP

  3. PHP MySQL Vyberte ID z jedné tabulky a informace z jiné tabulky

  4. MAMP s Laravel Unix Socket