Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果记录是现有的,则更新或根据相应的条目插入新记录_Java - Fatal编程技术网

Java 如果记录是现有的,则更新或根据相应的条目插入新记录

Java 如果记录是现有的,则更新或根据相应的条目插入新记录,java,Java,我有一张桌子 CREATE TABLE `category` ( `category_id` int(11) , `T1` varchar(50) DEFAULT NULL, `T2` varchar(50) DEFAULT NULL, `T3` varchar(50) DEFAULT NULL, `T4` varchar(50) DEFAULT NULL, `T5` varchar(50) DEFAULT NULL ) mysql> select * fr

我有一张桌子

CREATE TABLE `category` (
  `category_id` int(11) ,
  `T1` varchar(50) DEFAULT NULL,
  `T2` varchar(50) DEFAULT NULL,
  `T3` varchar(50) DEFAULT NULL,
  `T4` varchar(50) DEFAULT NULL,
  `T5` varchar(50) DEFAULT NULL
 )



mysql> select * from category;
+-------------+----------+-------------+---------------+------+------+
| category_id | T1       | T2          | T3            | T4   | T5   |
+-------------+----------+-------------+---------------+------+------+
|         145 | Pop Corn | Regular Tub | Plain Salted  | NULL | NULL |
|         150 | Pop Corn | Buckets     | Plain Salted  | NULL | NULL | 
|         151 | Pop Corn | Jumbo       | Plain Salted  | NULL | NULL | 
|         152 | Pop Corn | Regular Tub | Butter Scotch | NULL | NULL | 
|         153 | Pop Corn | Regular Tub | Tomoto Tango  | NULL | NULL | 
|         154 | Pop Corn | Buckets     | Butter Scotch | NULL | NULL | 
|         222 | Pop Corn | NULL        | NULL          | NULL | NULL |
| +-------------+----------+-------------+---------------+------+-----
我的逻辑

String reqstr="Pop Corn@Small@Test";
String values[] = reqstr.split("@");

            else  if(values.length==3)
            {

                sqlselect = "select category_id from category where T1 = ? AND T2 IS NULL AND T3 IS NULL AND T4 IS NULL"  ;
                    selectpst = dbConnection.prepareStatement(sqlselect);
                    selectpst.setString(1, values[0]);
                    resultset = selectpst.executeQuery();
                    if(resultset.next())
                    {
                            sql = "update category set T3 = '"+values[2]+"' T2 = '"+values[1]+"' where T1 ='"+values[0]+"'   
                            updateStatement.executeUpdate(sql);     

// similarly check for T2 , T3 , T4 also 

                    }

                    else
                    {

                    // Insert logic here 

                    }



            }
这个逻辑是否可以修改为更有效

我面临的问题是,例如,在本例中,由于爆米花已经存在,它应该更新该爆米花,否则应该插入新爆米花


类似地,如果存在Pop Corn Small,则应更新该记录或插入新记录

selectpst.setString(1,值[0]);第一个参数不是应该是0吗?将它们合并到一个查询中。