1

MySQL では、SELECT から一時テーブルを作成できることを知っています。 別の CREATE TABLE を使用せずに SELECT ステートメントで一時テーブルを作成する

また、一時テーブルに自動インクリメントを作成できることも知っています: 一時テーブルの 自動インクリメント

両方を同時に実行したい: SELECT ステートメントから一時テーブルを作成し、一時テーブルに自動インクリメント列を持たせたい。

それは可能ですか?

4

1 に答える 1

3

行番号列を持つ一時テーブルを作成する場合は、変数を使用します。

create temporary table temp as
    select (@rn := @rn + 1) as seqnum, t.*
    from t cross join
         (select @rn := 0) vars;

これは、新しい の自動インクリメントではありませんinsert。それが必要な場合は、テーブル定義を変更する必要があります。

于 2014-11-06T20:07:48.240 に答える