java - Java如何从第一行开始向mysql表的特定字段插入数据

标签 java mysql insert record

我有一个名为 Cast 的表,其中包含这些 字段:Id、CastName、CastImdbId。这个表已经有很多记录了。现在,我想向该表中添加 3 个新字段,它们是 (gender, castBirthDate, castBirthPlace)。问题是 "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 语句。

示例

ALTER TABLE Cast
ADD (gender varchar2(1), //Depending on "F" or "Female"
     castBirthDate Date, 
     castBirthPlace varchar2(50));

然后 UPDATE 新字段。这可以通过多种方式完成。避免 INSERT

jdbc 中的

UPDATE 是这样的:

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();

关于java - Java如何从第一行开始向mysql表的特定字段插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24270385/

相关文章:

java - Gradle 任务,用于将销售库部署到本地 Maven 存储库

java - Android 云到设备的 ClientLogin 中的服务名称是什么?

php - 从表中取出一个带逗号的数据

mysql - 如何从 MySQL 中的 2 个表中选择最大值

Java 和 HSQLDB INSERT TO 问题

java - 如何使用 DateTimeFormatter 只获取时间?

java - 声音数据格式

php - Laravel 5.4 firstOrCreate 或 firstOrNew 如果唯一只是 id

mysql 从时间戳统计上周的总数

sql - 插入表并将另一列设置为自动递增的列值