【发布时间】:2021-01-28 13:42:35
【问题描述】:
我写了这 9 个查询来执行不同的操作
GET_ITEMS = "SELECT ITEM_ID,PART_NO,DESCRIPTION,SALE_PRICE,UPDATED_BY,UPDATED_DATE FROM ITEM ORDER BY ITEM_ID";
GET_ITEM_ID = "SELECT ITEM_ID FROM ITEM";
GET_PART_NO = "SELECT PART_NO FROM ITEM WHERE ITEM_ID=?";
UPDATE_PART_NO = "UPDATE ITEM SET PART_NO=?WHERE ITEM_ID= ?";
GET_SALE_PRICE = "SELECT SALE_PRICE FROM ITEM WHERE ITEM_ID=?";
UPDATE_SALE_PRICE = "UPDATE ITEM SET SALE_PRICE=?WHERE ITEM_ID=?";
GET_DESC = "SELECT DESCRIPTION FROM ITEM WHERE ITEM_ID=?";
UPDATE_DESC = "更新项目集描述 =?WHERE ITEM_ID=?";
INSERT_INTO_ITEMDUPLICATE ="REPLACE INTO ITEM_DUPLICATE
(item_id,part_no,sale_price,description,barcode)SELECT
i.ITEM_ID,i.PART_NO,i.SALE_PRICE,i.DESCRIPTION,b.BARCODE FROM item i
JOIN item_barcode b ON b.ITEM_ID = i.ITEM_ID WHERE i.ITEM_ID = ?";
在我的 java JDBC 程序中。但我想把它们写成两个查询,一个用于显示来自数据库的数据,另一个用于更新数据。可能吗???。我正在 Eclipse 中使用 mySQL for DB 尝试此操作。
任何人都可以帮忙解决这个问题吗?我正在尝试从 2 天内找到解决方案
这是我的控制台输出,最后如果用户给出 Y,那么我的数据将更新到 item_duplicate 表中。为此,我还更新了项目表。但我只需要在新表中执行更新,而不是在项目表中。
控制台输出:
【问题讨论】:
-
我不清楚您要做什么您是否知道您可以通过逗号分隔在更新中更新多于 1 列。
-
嗨,@P.Salmon ya 我知道,但任务是如果用户选择 part_no,我需要让用户选择一个要更新的字段,那么我应该只对 part_no 执行更新并更新值所以对于每个字段,我都创建了不同的查询
-
用户提供要更新的 item_id、要更新的列名和要更新到的列值?
-
item_id 是主键所以不能更新,剩下三个可以更新。并且该值由用户自己给出,它应该在 item_duplicaet 表中更新为相同的列名。@P.Salmon