作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据库表,其主键是自动递增值
如何将数据插入到该表中,而不插入该值,该值应该自行更新
这是我的 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/
我是一名优秀的程序员,十分优秀!