Значение по умолчанию в зависимости от типа столбца mysql - PullRequest
0 голосов
/ 28 апреля 2020

Есть ли способ установить DEFAULT значение для столбца в MySQL в зависимости от его типа (как это происходит с переменными примитивных типов в Java)?

Например, 0 для нумерации c типов, пустая строка для VARCHAR, FALSE для логического значения и т. Д. c.

Или как получить значение по умолчанию типа mysql в моей программе Java и установить его вручную без тысяча if заявлений? (Я использую JDB C для работы с БД).

1 Ответ

1 голос
/ 28 апреля 2020

Да, вы можете установить значение по умолчанию для столбцов в операторах CREATE / ALTER TABLE:

CREATE TABLE Employee (
    ID bigint NOT NULL AUTO_INCREMENT,
    Name varchar(255) DEFAULT '',
    Age int DEFAULT 21,
    Location varchar(255) DEFAULT 'London',
    Joining_Date DATETIME DEFAULT CURRENT_TIMESTAMP()
);

Или, если вы используете объекты JPA, сопоставленные с таблицей, вы можете установить параметр columnDefinition:

@Column(name = "Location" columnDefinition="DEFAULT 'London'")
private String location;

Что касается вашего вопроса о получении настроек по умолчанию через JDB C - это также возможно с помощью метода getColumns класса DatabaseMetadata, где вы можете прочитать столбец COLUMN_DEF .

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