MySql Java自动增量
我对preparedStatement中的自动递增值有问题。这是我的数据库MySql Java自动增量,java,mysql,Java,Mysql,我对preparedStatement中的自动递增值有问题。这是我的数据库 CREATE TABLE `book` ( `id` int(11) NOT NULL AUTO_INCREMENT, `isbn` varchar(10) NOT NULL, `title` varchar(20) NOT NULL, `pages` int(11) NOT NULL, `price` decimal(5,2) NOT NULL, PRIMARY KEY (`id`), UN
CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`isbn` varchar(10) NOT NULL,
`title` varchar(20) NOT NULL,
`pages` int(11) NOT NULL,
`price` decimal(5,2) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `isbn` (`isbn`)
这是我准备好的声明:
String title = fieldTitle.getText();
String isbn = fieldISBN.getText();
double price = Double.parseDouble(fieldPrice.getText());
int pages = Integer.parseInt(fieldPages.getText());
conn = DBUtil.connect();
try {
prepState = conn.prepareStatement("insert into book values(?,?,?,?)");
prepState.setString(1, isbn);
prepState.setString(2, title);
prepState.setInt(3, pages);
prepState.setDouble(4, price);
prepState.execute();
但是,当我填写字段时,会出现以下错误:
java.sql.SQLException:列计数与第1行的值计数不匹配。我知道当数据库中的字段自动递增时,我不必将其放入查询中
有什么想法吗?修改您的查询以包括列名:-
INSERT INTO book (isbn, title, pages, price) VALUES (?,?,?,?)
如果不使用所有列,则必须显式命名要写入的列:
INSERT-INTO book(isbn、title、pages、price)值(?、、?、?)
,或者可选的方法是为增量列传递null<代码>插入帐面价值(空、、、、、、)