[英]how to insert into table using jdbc, when there are compound keys
我有一个带有属性(id, language_id, genre_name)
的表。 genre_name
获取两种语言的名称, id
和language_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_id
和name
)。
这将是一个粗略的例子:
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.