是否有某种方法可以根据其类型在 MySQL 中将 DEFAULT
值设置为列(就像 Java 中基本类型的变量一样)?
例如,0 表示数字类型,VARCHAR
表示空字符串,FALSE
表示 boolean 值等。
或者如何在我的Java程序中获取mysql
类型的默认值并手动设置它,而无需一千个if
语句? (我使用 JDBC 来处理数据库)。
最佳答案
是的,您可以在 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;
至于您关于通过 JDBC 检索默认设置的问题 - 也可以通过 DatabaseMetadata
类的 getColumns
方法,您可以 read column COLUMN_DEF
.
关于java - 默认值取决于列类型 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61469160/