为了账号安全,请及时绑定邮箱和手机立即绑定

如何在java中编写通用的mysql查询

如何在java中编写通用的mysql查询

尚方宝剑之说 2022-01-19 09:26:59
我曾以通用方式尝试过查询,即;我想以通用方式将数据从一个表发送到另一个表,我的查询是:    Statement mystmt=myConn.createStatement();    ResultSet rs = mystmt.executeQuery("SELECT * FROM empdetails");     ResultSetMetaData rsmd = rs.getMetaData();     int columnCount=rsmd.getColumnCount();     int i=1,j=1;     while(j<=columnCount && i<=columnCount )     {         arr1[i]= rsmd.getColumnName(j);         System.out.println(arr1[i]);         i++;         j++;     }      int k=1;     System.out.println(mystmt.executeUpdate("insert into table2(srccol_name,srccol_data)select 'empno',"+arr1[k]+" from empdetails"));  而这里的问题在于 srccol_name(即;'empno'),我已经硬编码了 columnName。任何人都可以为此提供解决方案。
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

如果我删除 Quote 并将查询写入 table2(srccol_name,srccol_data)select empno,"+arr1[k]+" from empdetails 那么输出将是

表2

srccol_name | srccol_data

101 101 102 102 103 103

104 104

但输出应该是

表2

srccol_name | srccol_data

员工编号 101 员工编号 102 员工编号 103 员工编号 104


查看完整回答
反对 回复 2022-01-19
?
万千封印

TA贡献1891条经验 获得超3个赞

正如您所说,您正在编写通用 sql。只需从该特定列中删除引号。它应该工作。

例如: insert into table2(srccol_name,srccol_data) select empno,"+arr1[k]+" from empdetails

所以,在运行时你的查询会变得像 insert into table2(srccol_name,srccol_data) select empno, second_column_name from empdetails


查看完整回答
反对 回复 2022-01-19
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信