Duplicate entry '1' for key 1

Duplicate entry '1' for key 1,第1张

恰恰相反,是主键设为自增导致的。每插入一条记录时,mysql中的friends表主键自动增长,而在程序中你有设置那个字段的值为i,于是,错误就发生了。

修改方法:

try {

    Class.forName(driver)

    Connection con = DriverManager.getConnection(url,user,password)

    String insert = "insert friends(name) values(?)"//不用insert表friends的主键字段id

    PreparedStatement prestatement = con.prepareStatement(insert)

    String [] names = {"Rachel","Rose","Phoebe","Monica","Chandler","Joey"}

    for(int i = 0i < 6i++ ) {

        //prestatement.setInt(1,i)//这行也没有必要了

        prestatement.setString(1,names[i])//索引由2改为1

        prestatement.execute()

    }

1、请检查您的 MySQL 帐号是否有相应的权限。

2、检查一下应用下的 config 配置文件中的连接数据库的帐号是否正确。

3、检查一下数据库是否满了,如果数据库满了没有空间后也会出现这种情况。

改成 case isManage when 1 then 'true' else 'false' end 字段名,

或者 case when isManage =1 then 'true' else 'false' end 字段名。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8488300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存