自动增量ID增加2

时间:2014-03-21 05:58:50

标签: mysql

我使用以下查询来创建表news

CREATE TABLE IF NOT EXISTS `news` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_title` varchar(500) NOT NULL,
  `news_detail` varchar(5000) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

mysql> desc news;
+-------------+---------------+------+-----+---------+----------------+
| Field       | Type          | Null | Key | Default | Extra          |
+-------------+---------------+------+-----+---------+----------------+
| id          | int(11)       | NO   | PRI | NULL    | auto_increment |
| news_title  | varchar(500)  | NO   |     |         |                |
| news_detail | varchar(5000) | NO   |     |         |                |
+-------------+---------------+------+-----+---------+----------------+

mysql> insert into news (news_title, news_detail) values ('test','demod demo');



mysql> select * from news;
+----+--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
| id | news_title                                                               | news_detail                                                                                                        |
+----+--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
|  3 | Advani wants to shift from Gujarat, BJP trying to convince him otherwise | testt |
|  5 | test                                                                     | demod demo                                                                                                         |
+----+--------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+

您在select查询中看到,id的增量类似于1,3,5,7...。意味着它增加2.那么这里的问题是什么?

实际上在我的本地,它增加1并且完美地工作。但在我的服务器中它会产生问题。 提前致谢。

3 个答案:

答案 0 :(得分:1)

检查系统变量@@ set_auto_increment_increment。

应该是

SET @@auto_increment_increment=1;

答案 1 :(得分:1)

为什么?

auto_increment值可以用变量auto_increment_increment来改变。通常,它总是1,但是出于某种奇怪的原因,在我的情况下它被设置为2。我认为可以开发MySQL Workbench。

您可以更改以下其中一项:

SET @@auto_increment_increment=1

SET GLOBAL auto_increment_increment=1;

更多信息

您可以找到一些信息herehere

答案 2 :(得分:0)

试试这个auto_increment_increment

SET @@auto_increment_increment=1;

使用此查询查找自动增量值增加多少

SHOW VARIABLES LIKE 'auto_inc%';

    +--------------------------+-------+
    | Variable_name            | Value |
    +--------------------------+-------+
    | auto_increment_increment | 1     |
    | auto_increment_offset    | 1     |
    +--------------------------+-------+