如何获取MySQL中空表的列的默认值? [重复]

问题描述 投票:0回答:4

我有一个有两列的表格。

+-------------+---------------+
|    User     |    Active     |
+-------------+---------------+
|    Geoff    |       1       |
|    Bob      |       1       |
+-------------+---------------+

“活动”列是一个

tinyint
,默认值为 0。但是有时默认值会设置为 1,以便所有未来用户自动设置为活动。

我可以使用此查询设置默认值:

ALTER TABLE `Users` MODIFY COLUMN `Active` tinyint(1) NOT NULL DEFAULT '1';

我现在需要编写一个查询来检测该列的默认值是什么。

这可能吗?

我希望查询显示默认值,因为我将在某些代码中使用它。

mysql default-value
4个回答
2
投票
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';

1
投票
SHOW COLUMNS FROM dbname.tablename;

输出

Field       Type            Null        Key     Default     Extra
col1        int(10)         NO          PRI                 auto_increment      
col2        smallint(10)    YES                 0       

这里,在默认列中显示是否设置了默认值


0
投票

输入

SHOW CREATE TABLE Users
,您将看到创建带有列默认值的表的输出。

问候


0
投票

检查 INFORMATION_SCHEMA.COLUMNS 表的 COLUMN_DEFAULT 列。更多信息 - dev.mysql.com/doc/refman/5.1/en/columns-table.html

© www.soinside.com 2019 - 2024. All rights reserved.