mysql - soporta - Determinar el número máximo de caracteres en un campo
mysql tamaño campo text (2)
El tamaño del campo de la base de datos de MySQL en el que estoy trabajando ha sido bastante arbitrario y me gustaría revisarlos en base a sus datos actuales. Por lo tanto, me gustaría determinar el número máximo de caracteres por campo, así que estoy seguro de que no perderé ningún dato cuando actualice el tamaño del campo.
¿Hay alguna característica en phpmyadmin o una declaración de SQL que pueda ayudarme?
Gracias
En phpmyadmin, puede conocer estos datos desde la pestaña Estructura de su tabla. mira la imagen adjunta:
usa CHAR_LENGTH
, ex
SELECT MAX(CHAR_LENGTH(column1)) maxCol1,
MAX(CHAR_LENGTH(column2)) maxCol2,
MAX(CHAR_LENGTH(column3)) maxCol3
FROM tableName
También puede usar Dynamic SQL
si tiene un número desconocido de columnas. Todo lo que necesita suministrar es el nombre de la base de datos y el nombre de la tabla,
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;