実行する SQL クエリはありますか? すべてのテーブルのプライマリID
をAUTO_INCREMENT
(checked) に更新しますか?
1 に答える
これはほとんど本当の質問ではありませんが、今日は気分が良いので、必要なリソースを提供します。そこから、目標を達成するためにそれらのリソースを処理する方法を理解することができます.
まず、データベース内のすべてのテーブルを一覧表示します。
- MySQLi を使用してデータベース内のすべてのテーブルを一覧表示する
多くの方法があります。
SHOW TABLES は、それを行うための最も単純な SQL ステートメントです。詳細が必要な場合や、フィルタリングなどを行う場合は、INFORATION_SCHEMA.TABLES を参照することもできます。
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE 'your_database';
次に、結果を反復処理します。反復ごとに、そのテーブルの主キーを見つける必要があります。
- テーブルの主キーを取得しますか?
information_schema に常にアクセスできるとは限らないため、より良い方法は SHOW KEYS を使用することです。以下の作品:
SHOW KEYS FROM table WHERE Key_name = 'PRIMARY' Column_name will contain the name of the primary key.
指定されたテーブルの列名を使用して、列をその最大値で自動インクリメントするように変更します。
- Mysql - 列を AUTO_INCREMENT に変更する
テーブル文書の変更 列の変更 document_id int(4) auto_increment
最後にmax()
、列の値を取得してその数値primary_key
を保存し、この値でこのテーブルの自動インクリメント オプションを設定できるようにします。これにより、自動インクリメント動作が正しい位置から開始されます。