选择列MySQL的默认值

时间:2019-04-05 11:57:42

标签: mysql sql select

我不会详细介绍。 我有Java程序正在数据库中创建表。问题是创建表时,其中一个字段会获得默认值。因此,当我向该字段添加元素时,我想选择默认值。现在,加载所有元素的ID为:

SELECT distinct(codeKind) FROM [table_name];

我想成为这样的人

SELECT [default value of column codeKind] from [table_name];

我检查了许多其他类似问题的答案,但都没有问题。

谢谢。

3 个答案:

答案 0 :(得分:0)

使用coalesce

select coalesce(codeKind,<def_value>)

或者您可以为表的创建DDL设置一个固定值,例如

create table my_table ( my_column default 0, col2 int .... ),如果您在插入语句中将列值保留为空白,则该值将自动填充为零。

答案 1 :(得分:0)

我也找到了解决方法:

select COLUMN_DEFAULT
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_SCHEMA='my_db' and TABLE_NAME='my_table' and COLUMN_NAME='my_column'

答案 2 :(得分:0)

也许是

drop table if exists t;
 create table t
 (id int auto_increment primary key,size int, sizecaption1 int default 10, sizecaption2 int, sizecaption3 int);

 insert into t (id,size) values 
 (1,22);
 insert into t values
 (2,22,22,22,22),
 (3,22,22,30,20),
 (4,22,1,2,3);

 select * from t where sizecaption1 = 
 (
 select column_default from information_schema.columns 
 where table_name = 't' and table_schema = 'sandbox' and column_default is not null
 ) ;

+----+------+--------------+--------------+--------------+
| id | size | sizecaption1 | sizecaption2 | sizecaption3 |
+----+------+--------------+--------------+--------------+
|  1 |   22 |           10 |         NULL |         NULL |
+----+------+--------------+--------------+--------------+
1 row in set (0.02 sec)