MYSQL комментарии к полям и к таблицам

orphelin
На сайте с 02.07.2006
Offline
261
8963

Добрый день!

подскажите, как на php получить комментарии к полям в таблицах mysql и их отредактировать?

проблема такая: после переноса БД в некоторых таблицах комменты к полям перенеслись в неправильной кодировке. сами данные в таблицах при этом нормально.

C
На сайте с 28.01.2010
Offline
70
#1


SELECT
column_comment,column_name
FROM
information_schema.columns
WHERE
1=1
AND table_name = 'table'
AND table_schema = 'schema'

ну для таблиц соответственно table_comment, table_name from information_schema.tables

Это - личная подпись. Здесь обычно ставят ссылки на всякие кривые сайты, надеясь получить "жирный бек".
palladin_jedi
На сайте с 13.07.2010
Offline
71
#2

Потёр...........

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
orphelin
На сайте с 02.07.2006
Offline
261
#3

Counselor,

спасибо. тоже пошел по этому пути, но на этапе обновления пишет ошибку

UPDATE `COLUMNS` SET `COLUMN_COMMENT`='тратата' WHERE `TABLE_NAME`='comment' AND `COLUMN_NAME`='post_date' 
Access denied for user 'root'@'localhost' to database 'information_schema'

хотя конекчусь под рутом..

C
На сайте с 28.01.2010
Offline
70
#4
orphelin:
Counselor,
спасибо. тоже пошел по этому пути, но на этапе обновления пишет ошибку
UPDATE `COLUMNS` SET `COLUMN_COMMENT`='тратата' WHERE `TABLE_NAME`='comment' AND `COLUMN_NAME`='post_date' 
Access denied for user 'root'@'localhost' to database 'information_schema'


хотя конекчусь под рутом..

Ээ, ну information_schema это не "физическая" таблица, с ней нельзя делать операции update, insert, delete...

Вариант, как я вижу, только один - для каждого поля в таблице полностью перезадать все параметры с помощью alter table, то есть что-то вроде:

ALTER TABLE 
table_name
CHANGE COLUMN
column_name
column_name TEXT NOT NULL COMMENT 'комментарий';

и так для каждой колонки.

orphelin
На сайте с 02.07.2006
Offline
261
#5
Counselor:
column_name TEXT NOT NULL COMMENT 'комментарий';

при этом похоже придется также восстанавливать в запросе все параметры поля.

т.е. инкримент/not null/дефолтное значение и т.п. чтобы сгенирировать такой запрос, который не изменит ничего кроме коммента к полю.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий