Java MySQL-仅从列中选择默认值
我想知道是否可以只选择空列的默认值? 我有一个绝对空的表,我只想选择默认值中的一列——这对我的JAVA应用程序很重要,它正在填充表Java MySQL-仅从列中选择默认值,java,mysql,select,default,Java,Mysql,Select,Default,我想知道是否可以只选择空列的默认值? 我有一个绝对空的表,我只想选择默认值中的一列——这对我的JAVA应用程序很重要,它正在填充表 谢谢。我只能想到两种方法: 插入一行 插入一行,但不指定该列的值 从该行中选择列;它将具有该列的默认值 删除该行 …可能都在一个事务中,所以其他人看不到它 使用描述(解释) descripe命令(aka)描述系统中的对象,包括表。因此,如果您对表进行解释,您将获得有关该表的信息,包括其默认值 以下是链接文档中的一个示例: mysql> DESCRIBE City;
谢谢。我只能想到两种方法: 插入一行
描述
(解释
)
descripe
命令(aka)描述系统中的对象,包括表。因此,如果您对表进行解释
,您将获得有关该表的信息,包括其默认值
以下是链接文档中的一个示例:
mysql> DESCRIBE City;
+−−−−−−−−−−−−+−−−−−−−−−−+−−−−−−+−−−−−+−−−−−−−−−+−−−−−−−−−−−−−−−−+
| Field | Type | Null | Key | Default | Extra |
+−−−−−−−−−−−−+−−−−−−−−−−+−−−−−−+−−−−−+−−−−−−−−−+−−−−−−−−−−−−−−−−+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| Country | char(3) | NO | UNI | | |
| District | char(20) | YES | MUL | | |
| Population | int(11) | NO | | 0 | |
+−−−−−−−−−−−−+−−−−−−−−−−+−−−−−−+−−−−−+−−−−−−−−−+−−−−−−−−−−−−−−−−+
mysql>描述城市;
+−−−−−−−−−−−−+−−−−−−−−−−+−−−−−−+−−−−−+−−−−−−−−−+−−−−−−−−−−−−−−−−+
|字段|类型|空|键|默认|额外|
+−−−−−−−−−−−−+−−−−−−−−−−+−−−−−−+−−−−−+−−−−−−−−−+−−−−−−−−−−−−−−−−+
|Id | int(11)| NO | PRI | NULL |自动增量|
|姓名| char(35)|否| | ||
|国家| char(3)| NO | UNI ||
|地区|查尔(20)|是|穆尔||
|人口|国际(11)|否| 0 ||
+−−−−−−−−−−−−+−−−−−−−−−−+−−−−−−+−−−−−+−−−−−−−−−+−−−−−−−−−−−−−−−−+
因此,您可以从返回行的default
列中提取默认值
啊,当然,还有第三种方法,请参见。您可以从INFORMATION\u SCHEMA.COLUMNS获取默认值
select COLUMN_DEFAULT
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA='your_db' and TABLE_NAME='your_table' and COLUMN_NAME='your_column'
如果您只想让MySQL自动插入表,则可以在创建表时为列定义默认值:
create table my_table (i INT DEFAULT 1);
但是,如果您的意思是想要存储在DB dictionary中的默认值,则可以通过以下查询获得:
SELECT Column_Default
FROM Information_Schema.Columns
WHERE Table_Schema = 'yourSchema'
AND Table_Name = 'yourTableName'
AND Column_Name = 'yourColumnName'
啊,出于某种原因,我倾向于忘记
信息\u模式
,这是第三种(或者可能是第一种)方式。:-)Codd第4条规则;)