老师,请问下我这里无法注册,报了个外键的错误信息

老师,请问下我这里无法注册,报了个外键的错误信息

java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`message_board`.`user`, CONSTRAINT `user_ibfk_1` FOREIGN KEY (`id`) REFERENCES `message` (`user_id`))
public User reg(User user) {
    Connection conn = null;
    PreparedStatement pstmt = null;
    try {
        // 创建链接
        conn = JDBCUtils.getConnection();
        // 编写sql
        String sql = "insert into user(id,username,password) values(null,?,?)";
        // 预编译sql
        pstmt = conn.prepareStatement(sql);
        // 设置参数
        pstmt.setString(1, user.getUsername());
        pstmt.setString(2, user.getPassword());
        // 执行sql
        pstmt.executeUpdate();

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        // 释放资源
        JDBCUtils.release(pstmt, conn);
    }
    return null;
}


正在回答

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

3回答

同学你好,我们是按照时间顺序回答的,建议同学不要追加问答,这样回答时间会更晚的。

关于同学的问题,问一下User有设置外键吗?还是那个表的外键参照User表的主键字段呢?

祝:学习愉快~

提问者 Thanatos_ 2019-11-11 16:48:33

用的就是资料里面的那个sql文件

user表上设置了外键,user表上的id与message表里面的user_id对应

http://img1.sycdn.imooc.com//climg/5dc9205809dbda2e09300056.jpg

  • 同学你好,下载的作业素材中的sql中,并没有外键约束,建议同学删除外键约束再试试。祝:学习愉快~
    2019-11-11 17:13:38
  • 提问者 Thanatos_ 回复 好帮手慕阿满 #2
    看了下源码确实没有外键,,,,应该是自己脑抽了,加了个外键。
    2019-11-11 18:07:10
提问者 Thanatos_ 2019-11-11 15:15:37

老师快来看看啦~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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