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

すべてのmysqlテーブルに新しい列を追加します

    いいえ、実際には、一度に複数のテーブルにフィールドを追加する方法はありません。そのためのスクリプトを書く必要があります。ただし、書くのは難しいスクリプトではありません:

    シンプルなSHOW TABLES クエリを実行すると、PHPでループできるテーブルのリストが表示されます。

    ループ内で、SHOW COLUMNS FROM tablename クエリを実行すると、現在のテーブルのフィールドが表示されます。このフィールドを使用して、テーブルにすでにpracticeIdがあるかどうかを確認できます。 フィールドに入力し、必要に応じて追加します。

    フィールドを追加するには、ALTER TABLE tablename ADD COLUMN practiceId INTを使用します (私はINTを想定しています 、ただし、に置き換えます。ただし、別のデータ型を使用している場合は、フィールドを定義する必要があります)

    新しい列にインデックスを追加するには、ALTER TABLEを使用することもできます 、またはCREATE INDEXを使用します 。外部キー制約を作成するには、ALTER TABLEを使用します ADD FOREIGN KEYを使用 引数(ただし、これはInnoDBテーブルでのみ機能すると思います)。

    参照:




    1. 更新または挿入時に、関連する参照行のタイムスタンプを更新します

    2. 2つのフェーズ間のmysqlハミング距離

    3. Tomcat、Java、および SQL Server 2008 R2:接続 URL 'null' のクラス '' の JDBC ドライバーを作成できません

    4. SQL Server:スキーマを指定せずにストアドプロシージャの結果セットをテーブル変数に配置します