Mysql 什么';创建表格时,将自动增量设置为30的目的是什么?

Mysql 什么';创建表格时,将自动增量设置为30的目的是什么?,mysql,auto-increment,Mysql,Auto Increment,我对mysql很陌生,读过这个页面,看起来AUTO_INCREMENT=30在table_option部分,但我仍然不明白这里的AUTO_INCREMENT=30是什么意思。这是否意味着所有int字段都自动递增为30?实际上,每当您从服务器准备转储或从phpmyadmin获取表结构时,它会根据现有表值为您提供自动递增值,因此您将获得30 无论何时创建新表,都无需提及自动增量(如果没有具体原因),因为它会自动从1开始 出于某种特定原因,您需要告诉mysql,我的自动增量值应该从这个数字开始。在这种

我对mysql很陌生,读过这个页面,看起来
AUTO_INCREMENT=30
table_option
部分,但我仍然不明白这里的
AUTO_INCREMENT=30
是什么意思。这是否意味着所有int字段都自动递增为30?

实际上,每当您从服务器准备转储或从phpmyadmin获取表结构时,它会根据现有表值为您提供自动递增值,因此您将获得30

无论何时创建新表,都无需提及自动增量(如果没有具体原因),因为它会自动从1开始


出于某种特定原因,您需要告诉mysql,我的自动增量值应该从这个数字开始。在这种情况下,您需要在表创建语法中指定它。

否这似乎是现有表的转储。数字30是该表上使用的最后一个自动增量ID。它来自一个.sql文件,该文件是从现有表导出的。现在您提到它,我注意到它有30个条目。但是,您怎么知道它“像现有表的转储”?如果我们忽略背景故事,
AUTO_INCREMENT=30
会如何影响将要创建的表?带有AUTO_INCREMENT=x参数的create语句通常表示它来自转储。这意味着,当您再次向该表中插入数据时,下一个自动递增数字将为31。这可以防止在您决定导入旧表数据(通常情况下)时发生冲突,因为您完全同意e4c5;数字30是该表上使用的最后一个自动增量ID
CREATE TABLE IF NOT EXISTS `qdz76_piteachers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `teacher_name` varchar(250) NOT NULL,
  `teacher_alias` varchar(250) NOT NULL,
  `teacher_role` varchar(50) NOT NULL,
  `image_folderlrg` int(11) NOT NULL,
  `teacher_image_lrg` varchar(250) NOT NULL,
  `teacher_email` varchar(100) NOT NULL,
  `teacher_website` varchar(250) NOT NULL,
  `teacher_description` text NOT NULL,
  `published` tinyint(3) NOT NULL,
  `ordering` int(11) NOT NULL,
  `teacher_view` tinyint(3) NOT NULL,
  `checked_out` tinyint(1) NOT NULL DEFAULT '0',
  `checked_out_time` datetime DEFAULT NULL,
  `user` int(11) NOT NULL,
  `language` char(7) NOT NULL DEFAULT '*',
  `featured` tinyint(3) NOT NULL DEFAULT '0',
  `metakey` text NOT NULL,
  `metadesc` text NOT NULL,
  `lastname` varchar(250) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ;