2014-09-23 27 views
-1

表有兩個表:數據插入Java中

CREATE TABLE A(
id INT NOT NULL AUTO_INCREMENT, 
softwareId VARCHAR(50) NOT NULL, 
version VARCHAR(50) NOT NULL, 
releaseDate TIMESTAMP NOT NULL, 
PRIMARY KEY (id) 
); 

CREATE TABLE UPDATE_FILE(
id INT NOT NULL AUTO_INCREMENT, 
updateId INT, 
FOREIGN KEY (updateId) REFERENCES SOFTWARE_UPDATE(id) ON DELETE CASCADE ON UPDATE CASCADE, 
osName VARCHAR(50) NOT NULL, 
osArch VARCHAR(50) NOT NULL, 
filePath VARCHAR(2048) NOT NULL, 
fileName VARCHAR(50) NOT NULL, 
PRIMARY KEY (id) 
); 

他們有updateId關係。 我知道如何將數據添加到沒有關係的表中。

getConnection().prepareStatement("INSERT INTO table(c1,c2,c3) VALUES(?,?,?)"); 
pStatement.setString(1, version); 
pStatement.setString(2, path); 
pStatement.setTimestamp(3, new Timestamp(System.currentTimeMillis())); 
pStatement.executeUpdate(); 

我不確定在關係表中添加新數據是否相同?

+0

當您插入表中時,您需要確保滿足所有約束條件(包括外鍵)。請澄清你的問題,因爲它很難準確地告訴你有什麼問題,因此它不是真正的答案。 – 2014-09-23 08:45:41

+0

_將新數據添加到關係表中是相同的_你試過了嗎?你遇到過一些問題嗎? – Narmer 2014-09-23 08:46:42

+0

@MarkRotteveel我的問題是:是否必須通過兩個'insert command'將關係插入到兩個表中? – 2014-09-23 08:55:29

回答

0

這是一樣的。但我可以建議你使用JPA而不是JDBC嗎?我認爲在涉及複雜的外鍵映射時這將非常容易。確保您使用的數據庫與JPA兼容。