sql >> データベース >  >> RDS >> Mysql

mysqlINNODBAUTO_INCREMENTテーブル値の設定で変数を使用する

    試してみてください:

    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`;
    

    SQLFiddleデモ

    更新

    13.5プリペアドステートメントのSQL構文を使用できます 13.1.14CREATETABLE構文 の場合 。

    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`;
    

    SQLFiddleデモ




    1. md5ハッシュをmysqlに効率的に保存するためのベストプラクティス

    2. ユーザーがフォントを持っていない場合、Webサイトにビルマ文字を表示してMySQLに記録するにはどうすればよいですか?

    3. MySQLロールアップの使用方法

    4. MYSqlの改行文字を置き換えて機能しない