gpt4 book ai didi

java - 插入语句中 AUTO_INCREMENT 字段出现问题

转载 作者:行者123 更新时间:2023-11-29 13:40:19 24 4
gpt4 key购买 nike

我有一个数据库表,其主键是自动递增值

如何将数据插入到该表中,而不插入该值,该值应该自行更新

这是我的 table :

CREATE TABLE IF NOT EXISTS 
Users(lastName CHAR(50) NOT NULL,
userID MEDIUMINT NOT NULL AUTO_INCREMENT,
phone CHAR(15),
email CHAR(50),
address CHAR(100),
authLevel INT NOT NULL DEFAULT 0,
FOREIGN KEY(authLevel) REFERENCES Authorizations (authLevel),
login CHAR(30) NOT NULL UNIQUE,
firstName CHAR(50) NOT NULL,
PRIMARY KEY (userID),password CHAR(30) NOT NULL);

这是我的插入语句:

(firstName,lastName,login,password,address,email) VALUES(?,?,?,?,?,?)

这是我得到的异常(exception):

java.sql.SQLException: Field 'userID' doesn't have a default value
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
at com.database.Main.main(Main.java:15)

最佳答案

我很惊讶它不能按原样工作,但传递 null 或 0 作为 userID 的值应该可以使其工作。

关于java - 插入语句中 AUTO_INCREMENT 字段出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com