Выберите значение по умолчанию столбца MySQL - PullRequest
0 голосов
/ 05 апреля 2019

Я не буду вдаваться в подробности. У меня есть Java-программа, которая создает таблицы в базе данных. Дело в том, что при создании таблицы одно из полей получает значение по умолчанию. Поэтому, когда я добавляю элементы в это поле, я хочу выбрать значение по умолчанию. Теперь загрузка всех идентификаторов элемента:

SELECT distinct(codeKind) FROM [table_name];

Я хочу быть примерно таким:

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

Я проверил многие ответы на другие похожие вопросы, но ни один из них не подходит.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 05 апреля 2019

Я также нахожу решение:

select COLUMN_DEFAULT
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_SCHEMA='my_db' and TABLE_NAME='my_table' and COLUMN_NAME='my_column'
0 голосов
/ 05 апреля 2019

Может быть, это

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)
0 голосов
/ 05 апреля 2019

использовать coalesce

select coalesce(codeKind,<def_value>)

В качестве альтернативы вы можете установить фиксированное значение для создания таблицы DDL, например

create table my_table ( my_column default 0, col2 int .... ),если оставить значение столбца пустым в операторе вставки, то значение автоматически заполняется как ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...