创建表时将auto_increment设置为30的目的是什么?

时间:2015-09-22 04:37:36

标签: mysql auto-increment

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 ;

我是mysql的新手并且已阅读此页面http://dev.mysql.com/doc/refman/5.5/en/create-table.htmlAUTO_INCREMENT = 30部分似乎在table_option部分,但我仍然不明白AUTO_INCREMENT = 30这意味着。这是否意味着所有int字段的auto_increment都为30?

1 个答案:

答案 0 :(得分:0)

实际上,无论何时从服务器准备转储或从phpmyadmin获取表结构,它都会根据现有的表值为您提供auto_increment值,因此您将获得30。

无论何时创建新表,都不需要提及auto_increment(如果没有特定原因),因为它会自动从1开始。

在某些特定的原因中,你需要告诉mysql我的auto_increment值应该从这个数字开始,在这种情况下你需要在表创建语法中指定它。