会忽略我表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