DROP TABLE IF EXISTS messages;
CREATE TABLE messages (
chatId int unsigned NOT NULL auto_increment,
toUserName varchar(50) DEFAULT NULL,
PRIMARY KEY (`chatId`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
这样是不ok的.
INSERT INTO messages(chatId,toUserName) VALUES(0,'saf');
INSERT INTO messages(chatId,toUserName) VALUES(1,'4653');
我添加这两条数据的话,第一个还是从1开始,插入这样的数据以后,数据库里就显示:2-saf,1-4653了.
INSERT INTO messages(chatId,toUserName) VALUES(0,'saf');
INSERT INTO messages(chatId,toUserName) VALUES(1,'4653');
我插入这两条语句,数据库里面显示的第一条语句Id 不是0啊.
自增序列的内容是系统产生的,你插入没有用
追问那我就是需要数据库里插数据的时候,第一条数据system的ID是0啊.怎么办啊?
追答试试把最後换成这句
ENGINE=innodb DEFAULT CHARSET=latin1 AUTO_INCREMENT = 0;
不行,还是1啊.
追答试试执行这个
set auto_increment_offset=0
貌似还是不行啊.执行后,添加数据的话,ID还是1.
追答那这真不知道了,set auto_increment_offset=0 已经是在设置初始值了
追问恩,好吧.我再找下其它资料吧.
Thanks啊
你可以看看我空间有分享一些关於这方面的
追问SET sql_mode='NO_AUTO_VALUE_ON_ZERO';
建表时要执行下这个,就ok了.
ok 长见识了