MySQL テーブル内のカラムの存在の確認
MySQL テーブル内のカラムの存在を確認することは、データベース管理とデータ操作にとって重要です。ただし、エンタープライズ クラスのデータベースとは異なり、MySQL ではこのタスクに特定のアプローチが必要です。
次のクエリを考えてみましょう:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='prefix_topic' AND column_name='topic_last_update') BEGIN ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL; UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`; END;
直感的ではありますが、このクエリは MySQL では失敗します。この問題を解決するには、より単純なアプローチをお勧めします。
SHOW COLUMNS FROM `table` LIKE 'fieldname';
PHP 実装
PHP を使用すると、次のようにクエリを実行できます。
$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'"); $exists = (mysql_num_rows($result))?TRUE:FALSE;
説明
SHOW COLUMNS コマンドは、テーブル内の特定の列に関する情報を提供します。 LIKE 演算子を使用すると、結果をフィルタリングして、一致する名前を持つ列のみを含めることができます。クエリが少なくとも 1 行を返す場合、その列が存在することを示します。それ以外の場合は、実行されません。
以上がMySQL で列の存在を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。