首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非null自动递增列-但'is null‘查询返回刚插入的行

问非null自动递增列-但'is null‘查询返回刚插入的行
EN

Stack Overflow用户
提问于 2013-07-17 13:26:06
回答 2查看 131关注 0票数 3

我使用的是MySQL 5.1.60

我有一个名为“文件夹”的表

代码语言:javascript
复制
CREATE TABLE `folder` (
`folder_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,  
`parent_id` int(10) unsigned DEFAULT NULL,
`update_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`folder_id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

然后我给它插入一个值。

代码语言:javascript
复制
INSERT INTO `folder` (`name`) VALUES ('test_name'); 

在那之后,我执行了一个select查询

查询为

代码语言:javascript
复制
SELECT * FROM folder f WHERE f.folder_id IS NULL

但令人惊讶的是,它实际上返回了最后插入的行(仅在第一次运行时)。

为什么这种行为会发生在MySQL中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-17 14:05:37

实际上,这是您正在使用的mysql 5.1.60中的一个错误,并且在mysql的早期版本中不是问题。

但是,您可以通过运行以下命令在当前版本的mysql>中修复它: mysql SET sql_auto_is_null=0;

票数 2
EN

Stack Overflow用户

发布于 2013-07-17 13:45:30

检查"innodb_flush_log_at_trx_commit"系统变量并将其设置为1,然后重试

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17691757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档