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 の場合:
$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'"); $exists = (mysql_num_rows($result)) ? TRUE : FALSE;
クエリが行を返した場合、その列は存在します。それ以外の場合は、そうではありません。この情報を使用して、必要に応じて列の作成に進むことができます。
以上がMySQL テーブルで欠落している列を確実に確認して追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。