更改表外键从 java 到 mysql

发布于 2024-12-18 21:01:17 字数 463 浏览 3 评论 0原文

好吧,我想对我的数据库进行修改,所以我需要使用 alter table,但 java 似乎在做这件事时遇到了问题。

这句话

ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id);

你怎么执行呢?

我正在这样做:

rawStatement="ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id);";
currentStatement = conn.createStatement();
currentStatement.execute(rawStatement); 

最后一行正确吗?

据我所知,execute 必须运行所有内容。

Well, I want to make a modification in my database, so I need to use alter table but java seems to have problems making that.

This is the sentence

ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id);

how do you execute it?

I was doing this:

rawStatement="ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id);";
currentStatement = conn.createStatement();
currentStatement.execute(rawStatement); 

is the last line correct?

As far I know, execute must run everything.

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

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

发布评论

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

评论(2

时间海 2024-12-25 21:01:17

使用这个< /a>:

executeUpdate() 

而不是

execute()

Also if the Constraint is已经存在,它将抛出异常

您应该注意的其他事项:

  • 用户是否有权更改表?

Use this:

executeUpdate() 

instead of

execute()

Also if the constraint is already present it will throw an exception

Other things you should look out for:

  • Does the user have the privileges to alter the table?
残花月 2024-12-25 21:01:17

尝试使用下面的代码:

rawStatement="ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id)"; 
PreparedStatement ps = conn.prepareStatement(rawStatement);
ps.executeUpdate();

Try with the below code:

rawStatement="ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id)"; 
PreparedStatement ps = conn.prepareStatement(rawStatement);
ps.executeUpdate();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文