首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认值取决于列类型mysql

问默认值取决于列类型mysql
EN

Stack Overflow用户
提问于 2020-04-28 05:57:47
回答 1查看 229关注 0票数 0

在MySQL中,有没有办法根据类型将Java值设置为列(就像MySQL中原始类型的变量一样)?

例如,0代表数值类型,空字符串代表VARCHAR,FALSE代表布尔型等等。

或者,如何在我的Java程序中获取mysql类型的默认值并手动设置它,而不需要使用大量的if语句?(我使用JDBC来处理DB)。

EN

回答 1

Stack Overflow用户

发布于 2020-04-28 06:45:06

可以,您可以为CREATE/ALTER TABLE语句中的列设置默认值:

代码语言:javascript
复制
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参数:

代码语言:javascript
复制
@Column(name = "Location" columnDefinition="DEFAULT 'London'")
private String location;

至于你关于通过JDBC检索默认设置的问题-也可以通过DatabaseMetadata类的getColumns方法,你可以使用read column COLUMN_DEF。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61469160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档