JAVA操作数据库,向两张表插入一条数据,请问如何实现?

发布于 2022-09-12 23:25:49 字数 341 浏览 15 评论 0

数据库为MySQL

我现在有两张

user_login, user_information

其中user_login有id, username, password字段

user_information有id, real_name, address, education字段

user_login的id为自增长,user_information的id与user_login的id相同

然后我想插入一条数据

username qwe
password 123
real_name 王子
address 南极
education 本科

请问怎么写插入语句

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨的味道风的声音 2022-09-19 23:25:49

https://stackoverflow.com/que... 低版本可以用这个方案。

如果你用的是mysql 8.0及以上版本,我更推荐CTE方案,它的可读性和可维护性更好:

with inserted_user_id as (
    insert into user_login (username, password)
    values ('user1', 'password1')
    returning id
)
insert into user_information (id, real_name, address, education)
select id, 'user1_real_name', 'user1_addr', 'user1_education'
from inserted_user_id

CTE本身就是在事务执行的,所以无需再包装到事务中。

当然如果你用的是java的一些ORM框架,直接在ORM级别处理就完事了,不需要自己去写SQL,可读性会更好。写代码本来就是以可读性为第一优先级,至于性能,在保证可读性的基础上再考虑吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文