1

TINYINT(1)属性とデフォルト値を含むいくつかの列 (100 以上) を追加しましNULLたが、問題はデフォルト値が0.

フィールドを検出してからテーブルを変更することにより、クエリを介してそれを行う方法はありTINYINT(1)ますか??

私を助けてください。

4

1 に答える 1

2

INFORMATION_SCHEMAクエリを実行して、サーバーによって自動的に維持される一連のビューである列を見つけることができます。

これを試して:

USE INFORMATION_SCHEMA;
SELECT * FROM `COLUMNS`
WHERE COLUMN_TYPE = 'tinyint(1)'

データベースまたはテーブルにフィルターを追加できます。次に、このビューでクエリを直接作成できます。

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, ".", TABLE_NAME, " MODIFY ", COLUMN_NAME, " tinyint(1) DEFAULT 0") AS q
FROM `COLUMNS`
WHERE COLUMN_TYPE = 'tinyint(1)'

これはALTER TABLE schema.table MODIFY column tinyint(1) DEFAULT 0、デフォルト値を変更するために実行する必要があるものです。

于 2013-10-26T20:01:06.857 に答える