会忽略我表SQL中的AUTO_INCREMENT是否有影响?

问题描述:

将忽略我的表SQL中的值AUTO_INCREMENT对我当前的内容有影响吗?会忽略我表SQL中的AUTO_INCREMENT是否有影响?

不,它不会。

15char

no..it不会影响任何东西.. AUTO_INCREMENT功能是用于化妆阵列number..it使已输入的所有数据自动sequential..and也counting..from 1, 2,3,.. n ..

不,它不会。 AUTO_INCREMENT将保留一个计数器,以便您可以插入行而不指定该列的值。

如果您忽略AUTO_INCREMENT并明确指定该列的值,则计数器将被更新。没有显式值的下一个插入将考虑上一个插入 - 您不会冒重复值的风险。

测试用例:

创建该表:

CREATE TABLE `counter` (
    `1` int(11) NOT NULL auto_increment, 
    PRIMARY KEY (`1`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ; 

插入一行,没有说明价值:

INSERT INTO `test`.`counter` (`1`) VALUES (NULL); 

现在将有一个排,用价值1

插入另一行,没有说明值:

INSERT INTO `test`.`counter` (`1`) VALUES (NULL); 

现在将有两排,1和2

插入一行,同时明确说明价值:

INSERT INTO `test`.`counter` (`1`) VALUES ('8'); 

现在,您将有三排,1,2,8

现在,插入其他行没有说明价值:

INSERT INTO `test`.`counter` (`1`) VALUES (NULL); 

新行将不具有值3或4,但正确的值为9:

SELECT * FROM `counter`; 

1 
2 
8 
9