我有一个@符号分隔一个输入字符串如如何动态地形成插入查询在这种情况下
[email protected]
我有如图所示
mysql> desc document;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
| document_id | int(11) | NO | PRI | NULL | auto_increment |
| T1 | varchar(50) | YES | | NULL | |
| T2 | varchar(50) | YES | | NULL | |
| T3 | varchar(50) | YES | | NULL | |
| T4 | varchar(50) | YES | | NULL | |
| T5 | varchar(50) | YES | | NULL | |
| T6 | varchar(50) | YES | | NULL | |
| T7 | varchar(50) | YES | | NULL | |
| T8 | varchar(50) | YES | | NULL | |
| T9 | varchar(50) | YES | | NULL | |
| T10 | varchar(50) | YES | | NULL | |
| vendor_brand_id | varchar(10) | YES | | NULL | |
| vendor_id | varchar(10) | YES | | NULL | |
+-----------------+-------------+------+-----+---------+----------------+
根据输入我试图表以形成如图所示的插入查询
String reqstr = "[email protected]"
String valuess[] = reqstr.split("@");
if (valuess.length == 1) {
sql = "Insert into document (T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,vendor_brand_id,vendor_id) values ('"+valuess[0]+"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"+vendor_brand_id+","+vendor_id+") ";
}
else if (valuess.length == 2) {
sql = "Insert into document (T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,vendor_brand_id,vendor_id) values ('"+valuess[0]+"','"+valuess[1]+"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"+vendor_brand_id+","+vendor_id+") ";
}
// Upto length 10
我的问题是,我该如何形成这种动态?
你能否详细说明。你需要动态地形成值部分吗? – 2014-11-04 11:00:35
是的,我需要动态地形成查询。 – Pawan 2014-11-04 11:02:15
Btw你不需要提供NULL,因为它是属性的默认值。 sql =“INSERT INTO DOCUMENT(T1,vendor_brand_id,vendor_id)values('”+ valuess [0] +“',”+ vendor_brand_id +“,”+ vendor_id +“)”就足够了。对于else块中的sql也是如此。 – Willmore 2014-11-04 11:18:20