我不会详细介绍。 我有Java程序正在数据库中创建表。问题是创建表时,其中一个字段会获得默认值。因此,当我向该字段添加元素时,我想选择默认值。现在,加载所有元素的ID为:
SELECT distinct(codeKind) FROM [table_name];
我想成为这样的人
SELECT [default value of column codeKind] from [table_name];
我检查了许多其他类似问题的答案,但都没有问题。
谢谢。
答案 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)