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

MySQLの増分値

    はい:ユーザー定義変数 を使用します :

    SET @position := 0; -- Define a variable
    INSERT INTO products
    SELECT id_product, id_category, name, (@position := @position + 1)
    FROM db2.products
    WHERE id_category = xxx;
    

    @positionへのインクリメントの結果 挿入に使用される値です。

    編集:

    初期値をインラインで処理することにより、変数の宣言をスキップできます:

    ...
    SELECT ..., (@position := ifnull(@position, 0) + 1)
    ...
    

    これは、複数のコマンド(セミコロンで区切られている)を許可しないドライバーを使用してクエリを実行する場合に特に便利です。



    1. java.math.BigIntegerをjava.lang.Integerにキャストすることはできません

    2. MySQLのGroupByとの1対多結合は、1つの観測値のみを返します

    3. SequelizeでMySQLに接続できません

    4. 異なるサーバー上の2つの異なるデータベース間でOracleスキーマをコピーまたはインポートするにはどうすればよいですか?