【发布时间】:2020-06-05 13:46:44
【问题描述】:
我有两个不同的表,其中包含多个列。像下面这样
表1
ID CUSTOMER PRODUCT DETAILS
21 joe phone
22 doe shoe
23 john cup
表2
PRODUCT ID COST ID
1 9000 21
2 600 22
3 30 23
table1 中的ID 为主索引,table2 中的PRODUCT ID 为主索引。这两个表之间的共同链接是 ID。我使用以下查询来读取值。
String query = "SELECT * FROM Table1 c1 INNER JOIN Table2 c2 ON c1.ID = c2.ID";
但我的问题是当我添加新行时,我使用以下查询。
String query1 = "INSERT INTO Table1(CUSTOMER) VALUES ('" + alex + "') ";
String query2 = "INSERT INTO Table2(COST) VALUES ('" + 500 + "') ";
由于 ID 不是 Table2 的主索引,我在 ID 中得到一个 NULL 值。当我再次尝试读取时,由于 ID 不匹配,我无法重新加载保存的数据。
编辑
这是我根据here给出的解释尝试过的,
String foreignKey = "ALTER TABLE Table2 ADD FOREIGN KEY (ID) REFERENCES Table1(ID)";
table2 中的列 ID 仍然为空。我是否需要以某种方式组合查询来获得结果?因为我只是按如下方式一一执行查询。
Statement stmt = connect.createStatement();
stmt.executeUpdate(query1);
stmt.executeUpdate(query2);
stmt.executeUpdate(foreignKey);
【问题讨论】:
-
请注意,我们更喜欢这里的技术写作风格。我们轻轻地劝阻问候,希望你能帮助,谢谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,聊天材料和缩写 txtspk,恳求,你多久了被卡住、投票建议、元评论等。只需解释您的问题,并展示您尝试过的内容、预期的内容以及实际发生的情况。
标签: java android sql-server