繁体   English   中英

当有复合键时,如何使用 jdbc 插入表

[英]how to insert into table using jdbc, when there are compound keys

我有一个带有属性(id, language_id, genre_name)的表。 genre_name获取两种语言的名称, idlanguage_id是主键的一部分。 如何使用 JDBC(preparedStatement,(java.sql.Connection) Connection)“插入”新值,所以language_id ID 的id可以自动相同?
例如:

id | language_id| name                    |
1  |      1     | name in one language    |
1  |      2     | name in another language|

PS id是自动递增的。

通过 JDBC 插入非常简单。 您必须连接您的数据库(您尚未命名),然后通过您需要的数据创建PreparedStatement (这意味着您应该事先拥有language_idname )。

这将是一个粗略的例子:

String SQL_INSERT = "INSERT INTO genre(language_id, name) VALUES (?, ?)";

try (Connection conn = DriverManager.getConnection(
        "jdbc:postgresql://127.0.0.1:5432/test", "postgres", "password");
     PreparedStatement preparedStatement = conn.prepareStatement(SQL_INSERT)) {

    preparedStatement.setInt(1, YOUR_ID_COMES_HERE);
    preparedStatement.setString(2, YOUR_NAME);

    int row = preparedStatement.executeUpdate();

    // rows affected
    System.out.println(row); //1

} catch (SQLException e) {
    System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
} catch (Exception e) {
    e.printStackTrace();
}

这是 Postgresql 的示例,但是如果您在 google 上搜索如何使用 java JDBC 执行插入,您将拥有比这更多的资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM