java - #1467 - 无法从存储引擎读取自动增量值

标签 java mysql auto-increment

我试图创建一个新对象并出现此错误:

java.sql.sqlException从存储引擎读取自增值失败

所以我去 phpMyAdmin 那里创建对象,并且出现了相同的结果:

MySQL 说:文档

1467 - Failed to read auto-increment value from storage engine

然后我点击编辑,它就在那里:

INSERT INTO `reservation`.`room` (`idroom`, `number`, `floor`, `description`, `characteristics`, `cost`, `status`, `type`) VALUES (NULL, '114', '3', 'ss', 'ss', '550.00', 'Available', 'ss')

(idroom 应该自动递增。)

我已经读过其他帖子,他们说我必须把这个:

ALTER TABLE `table_name`  AUTO_INCREMENT = 1

但我不知道该把它放在哪里。有更好的解决办法吗?

最佳答案

您的INSERT语句是错误的。由于idroomAUTO_INCRMENT;您不得将其包含在插入命令的列列表中。您的插入语句应如下所示。请注意,我已从插入列列表中删除了 idroom 列,并且不在值列表中传递 NULL

INSERT INTO `reservation`.`room` (`number`, `floor`, `description`, 
`characteristics`, `cost`, `status`, `type`) 
VALUES ('114', '3', 'ss', 'ss', '550.00', 'Available', 'ss')

关于java - #1467 - 无法从存储引擎读取自动增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27196901/

相关文章:

java - 使用PreparedStatement自动递增

java - 找不到类型 : java. lang.Object 的 validator

Java,缓冲图像的颜色与原始图像完全不同

php - 在准备好的 PDO mysql 查询中将数组与单个元素结合使用

mysql - MySQL中是否可以按多列(OR语句)进行分组?

python - Django Python - 如何将外键添加到管理页面中显示的表中

mysql - 如何在 Mysql 中更新或更改自动递增列值

java - 参数动态时如何构建 JPQL 查询?

java - 如何测试事务数据库代码?

php - 登录 PHP 页面时遇到问题