私が取り組んでいる MySQL データベースのフィールド サイズは非常に恣意的に決定されており、現在のデータに基づいて確認したいと思います。したがって、フィールドごとの最大文字数を決定したいので、フィールドサイズを更新してもデータが失われないと確信しています。
phpmyadmin に役立つ機能や SQL ステートメントはありますか?
ありがとう
私が取り組んでいる MySQL データベースのフィールド サイズは非常に恣意的に決定されており、現在のデータに基づいて確認したいと思います。したがって、フィールドごとの最大文字数を決定したいので、フィールドサイズを更新してもデータが失われないと確信しています。
phpmyadmin に役立つ機能や SQL ステートメントはありますか?
ありがとう
使用CHAR_LENGTH
、元
SELECT MAX(CHAR_LENGTH(column1)) maxCol1,
MAX(CHAR_LENGTH(column2)) maxCol2,
MAX(CHAR_LENGTH(column3)) maxCol3
FROM tableName
Dynamic SQL
列数が不明な場合にも使用できます。指定する必要があるのは、データベースの名前とテーブルの名前だけです。
SET @db_Name = 'db_2_21a29';
SET @tb_name = 'TABLENAME';
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT('MAX(CHAR_LENGTH(', COLUMN_NAME, ')) AS `', COLUMN_NAME, '`')
) INTO @sql
FROM information_schema.columns
WHERE TABLE_NAME = @tb_name AND
TABLE_SCHEMA = @db_Name;
SET @sql = CONCAT('SELECT ',@sql, 'FROM ', @tb_name);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
phpmyadmin では、テーブルの [構造] タブからこのデータを知ることができます。添付の画像を見てください: