Как я могу получить значение по умолчанию столбца для пустой таблицы в MySQL?
У меня есть таблица с двумя столбцами.
+-------------+---------------+
| User | Active |
+-------------+---------------+
| Geoff | 1 |
| Bob | 1 |
+-------------+---------------+
Активный столбец tinyint
со значением по умолчанию 0. Однако иногда значение по умолчанию устанавливается в 1, так что все будущие пользователи автоматически устанавливаются как активные.
Я могу установить значение по умолчанию, используя этот запрос:
ALTER TABLE `Users` MODIFY COLUMN `Active` tinyint(1) NOT NULL DEFAULT '1';
Теперь мне нужно написать запрос, чтобы определить значение столбца по умолчанию.
Это возможно?
Изменить: я должен был указать. Я хотел бы, чтобы запрос показывал только значение по умолчанию, так как я собираюсь использовать его в некотором коде.
4 ответа
SHOW COLUMNS FROM dbname.tablename;
Выход
Field Type Null Key Default Extra
col1 int(10) NO PRI auto_increment
col2 smallint(10) YES 0
Здесь в столбце по умолчанию показано, установлено ли какое-либо значение по умолчанию или нет
SHOW CREATE TABLE Users
Покажет вам больше, чем просто это.
Вы также можете запросить information_schema
select c.COLUMN_DEFAULT
from information_schema.`COLUMNS` c
where c.TABLE_SCHEMA = 'MyDatabaseName'
and c.TABLE_NAME = 'Users'
and c.COLUMN_NAME = 'Active';
Проверьте таблицу INFORMATION_SCHEMA.COLUMNS, столбец COLUMN_DEFAULT . Дополнительная информация - dev.mysql.com/doc/refman/5.1/en/columns-table.html
Тип SHOW CREATE TABLE Users
и вы увидите вывод создания таблицы со значением по умолчанию для столбцов.
С уважением