Вопрос:
Размер поля MySQL daabase, над которым я работаю, был довольно условным, и я бы хотел просмотреть их на основе его текущих данных. Поэтому я хотел бы определить максимальное количество символов для каждого поля, поэтому я уверен, что не буду потерять какие-либо данные при обновлении размера поля.
Есть ли функция phpmyadmin или оператор SQL, который может мне помочь?
Спасибо
Лучший ответ:
используйте CHAR_LENGTH, ex
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;
Ответ №1
В phpmyadmin вы можете узнать эти данные с вкладки Структура вашей таблицы. посмотрите на прикрепленное изображение: