###############導入###
MySQL に BLOB フィールドを含むテーブルがあり、それを JSON フィールドに変換したい場合は、一連の ALTER TABLE ステートメントを実行することでこれを行うことができます。このプロセスには、必要なデータ型 (JSON) で新しい列を作成すること、古い列から新しい列にデータをコピーすること、古い列を削除すること、新しい列の名前を元の列名に変更することが含まれます。 BLOB フィールドはバイナリ データの保存に使用されますが、JSON はテキストベースのデータ表現形式であることに注意することが重要です。 BLOB フィールドを JSON フィールドに変換するには、BLOB フィールド内のデータが JSON として解析できる形式である必要があります。
さらに、変更を加える前に、データをバックアップし、非運用環境でクエリをテストして、プロセスがスムーズに進むことを確認することをお勧めします。また、このプロセスは、特にテーブルが大きい場合に時間がかかる場合があるため、データを切り替える前に本番環境でのダウンタイムを避けるために、バックアップ テーブルでこのプロセスを実行することをお勧めします。###意味###
BLOB フィールドを JSON フィールドに変換するプロセスには、必要なデータ型 (JSON) で新しい列を作成し、古い列から新しい列にデータをコピーし、古い列を削除し、新しい列の名前を変更することが含まれます。元の列名に変更します。これは、MySQL の一連の ALTER TABLE ステートメントを使用して実行できます。
BLOB フィールドのデータは、JSON に解析できる形式である必要があることに注意してください。そうでない場合、変換プロセスは失敗します。さらに、変更を加える前に、データをバックアップし、非運用環境でクエリをテストして、プロセスがスムーズに進むことを確認することをお勧めします。さらに、このプロセスには時間がかかる場合があり、特にテーブルが大きい場合は、データを切り替える前に本番環境でのダウンタイムを回避するために、バックアップ テーブルに対してこの操作を実行することをお勧めします。
目的のデータ型で新しい列を作成します -
リーリー
古い列から新しい列にデータをコピーします -
リーリー
リーリー
テーブルに変更を加える前に、必ずデータをバックアップしてください。
p>
- BLOB フィールドのデータは、JSON として解析できる形式である必要があります。そうでない場合、変換プロセスは失敗します。変換を試みる前に、BLOB フィールド内のデータをチェックして検証し、正しい形式であることを確認することが重要です。 p>
非実稼働環境でのテスト
パフォーマンス
インデックス
互換性
検証
例 1
「mytable」という名前のテーブル内の「data」という名前の BLOB フィールドを「json_data」という名前の JSON フィールドに変換します -SQLクエリ リーリー 例 2
ALTER TABLE example_table ADD json_col JSON; UPDATE example_table SET json_col = CAST(blob_col AS JSON); ALTER TABLE example_table DROP COLUMN blob_col; ALTER TABLE example_table CHANGE json_col json_col JSON;
将名为“data”的 BLOB 字段转换为名为“mytable”的表中名为“json_data”的 JSON 字段,并创建临时表。
CREATE TEMPORARY TABLE temp_mytable AS SELECT * FROM mytable; ALTER TABLE temp_mytable ADD json_data JSON; UPDATE temp_mytable SET json_data = CAST(data AS JSON); ALTER TABLE temp_mytable DROP COLUMN data; ALTER TABLE temp_mytable CHANGE json_data data JSON; RENAME TABLE mytable TO mytable_old, temp_mytable TO mytable;
与往常一样,请确保在生产服务器上运行这些示例之前在非生产环境中测试这些示例,并且确保在进行任何更改之前备份数据。
可以通过执行一系列 ALTER TABLE 语句将 MySQL 表字段类型从 BLOB 转换为 JSON。
该过程包括创建具有所需数据类型 (JSON) 的新列、将数据从旧列复制到新列、删除旧列以及将新列重命名为原始列名称。
以上がMySQL テーブルのフィールド タイプを BLOB から JSON に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。