私は今、二つのテーブル、テーブルtalkviewありますプライマリキーの値に応じて外部キーを変更する方法はありますか?
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| titlename | varchar(64) | NO | | NULL | |
| postname | varchar(64) | NO | | NULL | |
| counts | varchar(11) | YES | | 0 | |
+-----------+-------------+------+-----+---------+----------------+
とテーブルmaintalk:
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(64) | NO | | NULL | |
| text | varchar(64) | NO | | NULL | |
| username | varchar(64) | NO | | NULL | |
| talk_id | int(10) | YES | MUL | NULL | |
+----------+-------------+------+-----+---------+----------------+
、今私が一緒にこれらのテーブルにデータを挿入すると「talk_id」は自動的に応じ]を変更しますテーブルのtalkviewからの 'id'。 Javaで
、私はこのコードを試してみたが、「talk_idは」何の変化もありません:あなたはあなたの最初のテーブルにいくつかの件のデータを挿入した後
public void posttalk(String title, String con, String name){
connection = DBConection.getConnection();
Statement stmt = null;
String SQL_1 = "insert into talkview(titlename,postname) values(? , ?)";
String SQL_2 = "insert into maintalk(title,text,username) values(? , ? , ?)";
try {
connection.setAutoCommit(false);
PreparedStatement preparedStatement = connection.prepareStatement(SQL_1);
preparedStatement.setString(1, title);
preparedStatement.setString(2, name);
Integer a = preparedStatement.executeUpdate();
preparedStatement = connection.prepareStatement(SQL_2);
preparedStatement.setString(1, title);
preparedStatement.setString(2, name);
preparedStatement.setString(3, con);
Integer b = preparedStatement.executeUpdate();
connection.commit();
connection.setAutoCommit(true);
} catch (SQLException sqle) {
try {
connection.rollback();
stmt.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
sqle.printStackTrace();
} finally {
DBConection.closeConnection(connection);
}
}
joinステートメントを試しましたか? 2つの挿入ステートメント – MuTiny
を照会するよりもはるかに簡単です。ステートメントは照会ステートメントですか? 2つのテーブルにデータを挿入したいのですが、 'talk_id'は自分のコントロールなしで自動的に変更されます。 –
@ e4c5、テーブルAはtalkviewです、テーブルBはmaintalk –