3

私が取り組んでいる MySQL データベースのフィールド サイズは非常に恣意的に決定されており、現在のデータに基づいて確認したいと思います。したがって、フィールドごとの最大文字数を決定したいので、フィールドサイズを更新してもデータが失われないと確信しています。

phpmyadmin に役立つ機能や SQL ステートメントはありますか?

ありがとう

4

2 に答える 2

8

使用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;
于 2013-01-03T15:22:01.553 に答える
-1

phpmyadmin では、テーブルの [構造] タブからこのデータを知ることができます。添付の画像を見てください:

ここに画像の説明を入力

于 2013-01-03T15:28:15.363 に答える