Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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中如何将数据从第一行插入mysql表的特定字段_Java_Mysql_Insert_Record - Fatal编程技术网

Java中如何将数据从第一行插入mysql表的特定字段

Java中如何将数据从第一行插入mysql表的特定字段,java,mysql,insert,record,Java,Mysql,Insert,Record,我有一个名为Cast的表,其中包含以下字段:Id、CastName、CastImdbId。这个表已经有很多记录了。现在,我想在这个表中添加3个新字段,分别是性别、出生日期、出生地。问题是insert into在最后一条记录之后向表的末尾添加新数据,但我需要从第一条记录开始添加这些数据。有人能告诉我这是否可能以及如何做到吗 这是我的代码中有问题的部分: try{ String query = "INSERT into Cast (gender, castBirthDate, castB

我有一个名为Cast的表,其中包含以下字段:Id、CastName、CastImdbId。这个表已经有很多记录了。现在,我想在这个表中添加3个新字段,分别是性别、出生日期、出生地。问题是insert into在最后一条记录之后向表的末尾添加新数据,但我需要从第一条记录开始添加这些数据。有人能告诉我这是否可能以及如何做到吗

这是我的代码中有问题的部分:

 try{
     String query = "INSERT into Cast (gender, castBirthDate, castBirthPlace)" + "VALUES (?, ?, ?)";
     PreparedStatement preparedStmt = conn.prepareStatement(query);
     preparedStmt.setString (1, gender);
     preparedStmt.setString (2, dateOfBirth);
     preparedStmt.setString (3, placeOfBirth);
     preparedStmt.executeUpdate();

    }catch (Exception e){
        System.err.println("Got an exception!");
        System.err.println(e.getMessage()); 
    }
在表上使用ALTER语句

范例

然后更新新字段。这可以通过多种方式实现。避免插入

jdbc中的更新如下所示:

StringBuilder sql = new StringBuilder("");
sql.append("UPDATE Cast ");
sql.append("SET gender = ?, ");
sql.append("castBirthDate = ?, ");
sql.append("castBirthPlace = ? ");
sql.append("WHERE actor_id = ?"); //Assuming...

PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setString (1, gender);
preparedStmt.setString (2, dateOfBirth);
preparedStmt.setString (3, placeOfBirth);
preparedStmt.executeUpdate();

是否要将这些字段值设置为现有记录?然后您可能需要更新它们

顾名思义,INSERT语句将在表的末尾添加新行

UPDATE将修改您指定的一行或多行,从而更改您指定的字段上的值

UPDATE table SET column1='value1', column4='value2' WHERE column2='thisValue'
在您的情况下,假设您希望将“女性”设置为Halle Berry

UPDATE Cast SET gender='Female' WHERE CastName='Halle Berry'

当然,您应该使用ID和类似F的引用来表示“女性”,而不是整个单词。

您不想插入完整的新记录。您想更新现有的。使用更新语法。@juergend:Tnx,成功了:@mona-imDB仍然有效吗?O。o@juergend:抱歉,但是您知道如何对多个字段使用更新吗?类似于我在问题中为insert语句..编写的代码,但对于updateLook,请查看问题的答案,以了解如何执行。如果仍然不起作用,请在问题中详细说明为什么不起作用。对不起,您在哪里定义了查询?在第7行中,例如在insert的情况下,我将字符串查询=insert into Cast…我将查询连接到一个StringBuilder中,对我来说,它更易于读取,并且还限制了较大查询的字符串值的内存占用。我以这种方式进行了操作:字符串查询=更新测试集性别=?,dateOfBirth=?,placeOfBirth=?其中castImdbID=?;。。但是,tnx需要您的帮助:
UPDATE Cast SET gender='Female' WHERE CastName='Halle Berry'