LINUX.ORG.RU

вкурить документацию про «SHOW COLUMNS» и INFORMATIONAL_SCHEMA

MKuznetsov ★★★★★
()

вот тебе революционный метод: 1. отказываемся от использования классических клиентов для СУБД. и переходим на работу посредством CLI через пайпы. 2. в CLI-утилитах, как правило, есть весь набор команд для работы с мета информацией. Ну и, в довесок, полученные знания можно применять как в процессе написания кода, так и в процессе администрирования СУБД.

echo "desribe tablename;" | mysql -u user -p database_name
dmitryalexeeff
()
Ответ на: комментарий от visual

Что значит «почти»?
Тебе нужны все значения-по-умолчанию для таблицы?

тогда:

SELECT column_default FROM information_schema.columns WHERE table_schema='db_name' AND table_name='table_name';

или для результата поле:значение:

SELECT column_name, column_default FROM information_schema.columns WHERE table_schema='db_name' AND table_name='table_name';
beka
()
Ответ на: комментарий от visual

не буду спрашивать зачем такое вообще нужно.

SELECT group_concat(coalesce(column_default,'NULL') separator ', ') 
FROM information_schema.columns 
WHERE table_schema='db_name' AND table_name='table_name'

или для результата «имя:значение»:

SELECT group_concat(column_name,':',coalesce(column_default,'NULL') separator ', ') 
FROM information_schema.columns 
WHERE table_schema='db_name' AND table_name='table_name'

coalesce нужен, чтобы group_concat не игнорировал поля, где значение по умолчению NULL. ':' и separator ', " для того, чтобы видеть границы columns.

beka
()
Ответ на: комментарий от beka

не буду спрашивать зачем такое вообще нужно.

чтобы получить нормальный объект через mysql_fetch_object

visual ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.