6

同じテーブル内の別の列の値を取得する必要があるMySQLデータベースのテーブルに新しい列を追加したいと思います。これは可能ですか?もしそうなら、どのようにそれをしますか?

4

4 に答える 4

6

MySQL 5.0.2以降では、にリンクされたストアドプロシージャを記述してTRIGGER、行が挿入されるたびに新しい列を調べ、新しい列に値が指定されていない場合は、他の列の値を新しい列に自動的にコピーできます。

于 2009-03-18T22:59:57.113 に答える
3

この次の 2 つのコマンドを使用して作業を行うことができます。

  1. このコマンドは、テーブルに新しい列を追加するために使用されます。コピー元のデータ型を記憶して、新しい列でそれらのデータ型を使用します。

    ALTER TABLE table_name ADD new_column_name VARCHAR(60);
    

2: このコマンドは、データを古い列名から新しい列名にコピーします。

   UPDATE table_name SET new_column_name = old_column_name;

次に、前の列を削除する場合は、次のコマンドを使用できます

   ALTER TABLE table_name DROP COLUMN old_column_name;
于 2013-01-22T07:21:59.657 に答える
2

20101212 の時点で、mysql は 2 つのタイムスタンプ列のデフォルト設定をサポートしていません。つまり、同じテーブルで「作成」と「更新」を行うことはできません。

これがあなたがしようとしていたことである場合、ストアド プロシージャを使用したトリガーが最適です。

于 2010-12-13T06:51:15.860 に答える
1

ビューを作成し、同じ列を2回選択して別の名前を付けると、アプリケーションはテーブルを直接使用する代わりにビューを使用できます。

于 2010-07-08T01:06:44.663 に答える