在MySQL中,有没有办法根据类型将Java值设置为列(就像MySQL中原始类型的变量一样)?
例如,0代表数值类型,空字符串代表VARCHAR,FALSE代表布尔型等等。
或者,如何在我的Java程序中获取mysql类型的默认值并手动设置它,而不需要使用大量的if语句?(我使用JDBC来处理DB)。
发布于 2020-04-28 06:45:06
可以,您可以为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。
https://stackoverflow.com/questions/61469160
复制相似问题