为什么用ALTER TABLE 表名 AUTO_INCREMENT=1,然后SHOW TABLE STATUS; 看到的表的自增值仍然为3?
把触发器里的 SQL语句预览,复制粘贴过来,可以创建表,也可以 设置引擎和自增,再次SHOW TABLE STATUS,看到了 自增变成1.
另外,虽然看到表的状态里,自增为3,是自增到3,还是每次自增1个?虽然自增是3,但是INSERT INTO ....日志表的数据记录每增加一条,就加1, id:1 2
关于主键自增的问题:id :not null,primary key,auto_increment这些条件下,insert into 表名 values(1,'',1000.00); 然后select * from 表名; 看到id=1;填入null值,在not null,auto_increment条件下,变成自动增长的非0值。
报错: Out of range value for column 'operation_id' at row 1 在user_log表的operation_id column
出了operation_id的值的范围??
在建表时添加:存储引擎,自增,。。
怎样在建表之后添加/再去改 auto_increment,engine???
CREATE TABLE `NewTable` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`operation` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`operation_id` int(11) NULL DEFAULT NULL ,
`operation_time` datetime NULL DEFAULT NULL ,
`operation_params` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=2
ROW_FORMAT=DYNAMIC
;
注意:创建表的时候Navicat premium 15 绿色:用的是中文的单引号。