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

Jak nastavit AUTO_INCREMENT z jiné tabulky

Tento kód pro vás vytvoří proceduru:

CREATE PROCEDURE `tbl_wth_ai`(IN `ai_to_start` INT)
BEGIN

SET @s=CONCAT('CREATE TABLE IF NOT EXISTS `table_name` (
  `id` mediumint(6) unsigned NOT NULL AUTO_INCREMENT,
  `columnOne` tinyint(1) NOT NULL,
  `columnTwo` int(12) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT = ', `ai_to_start`);

  PREPARE stmt FROM @s;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END;

Pak můžete zavolat CALL tbl_wth_ai(2); předání parametru v hranatých závorkách.

Například:

CALL tbl_wth_ai((SELECT id FROM `ttest` WHERE c1='b'));


  1. Jak uložit BLOB jako soubor v PL/SQL?

  2. Jaké je chování operátoru mínus mezi dvěma datumy v MySQL?

  3. Zastaralé rozšíření MySQL v PHP 5.5.x

  4. Jak vypočítat místo na disku používané tabulkou MySQL z datových typů sloupců a počtu řádků?