JAVA程序中,怎么不操作主键值,让其自动增加

JAVA程序中,怎么不操作主键值,让其自动增加

目前在java代码中需要主动的设置主键值,才可以成功新增数据。

但如果不设置主键值,怎么可以成功的新增数据并且在数据库中改条数据自动的id 自动增加。

https://img1.sycdn.imooc.com//climg/64133a150942bc3a14540406.jpg

package com.imooc.news.command;

import com.imooc.news.connection.ConnectionOperation;
import org.apache.commons.dbutils.QueryRunner;

import java.sql.Connection;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class InsertCommand implements Command {
    @Override
    public void execute() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入新闻编号");
        int newNo = scanner.nextInt();
        System.out.println("请输入新闻标题");
        String title = scanner.next();
        System.out.println("请输入新闻内容");
        String content = scanner.next();
        Connection conn = (Connection) ConnectionOperation.getConnection("update");
        QueryRunner qr = new QueryRunner();
        String sql = "INSERT INTO t_news (id, title, content, create_time) VALUES (?,?,?,?)";
        try {
            String datetime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
            qr.update(conn, sql, new Object[]{newNo, title, content, datetime});
            System.out.println("添加成功");
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            ConnectionOperation.closeConnection(conn, null, null);
        }
    }
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2023-03-17 09:35:55

同学你好,在添加数据的时候不为id传参即可使用自增的主键值了。

祝学习愉快~

  • 提问者 阿龙9678 #1

    https://img1.sycdn.imooc.com//climg/6413ef56098e03a519820280.jpg

    不传id会报错

    2023-03-17 12:41:11
  • 好帮手慕小蓝 回复 提问者 阿龙9678 #2

    同学你好,建议同学检查一下id字段是否为自增字段。

    当id字段没有设置为自增时,是会出现这样的错误的,但是如果已经设置为自增,是可以正常添加的。

    祝学习愉快~

    2023-03-17 13:24:41
  • 提问者 阿龙9678 回复 好帮手慕小蓝 #3

    请问自增id 是怎么写

    2023-03-17 13:32:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师