有两个表:
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 :(得分:0)
它是一样的。但是我可以建议您使用JPA代替JDBC吗?我认为在涉及复杂的外键映射时,这将非常简单。确保您使用的数据库与JPA兼容。