MySQLでENGINE=InnoDB、AUTO_INCREMENTの意味

1383 ワード

CREATE TABLE `hui_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '   id',
  `username` varchar(50) NOT NULL COMMENT '   ',
  `password` varchar(50) NOT NULL COMMENT '    ,MD5  ',
  `email` varchar(50) DEFAULT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `question` varchar(100) DEFAULT NULL COMMENT '      ',
  `answer` varchar(100) DEFAULT NULL COMMENT '      ',
  `role` int(4) NOT NULL COMMENT '  0-   ,1-    ',
  `create_time` datetime NOT NULL COMMENT '    ',
  `update_time` datetime NOT NULL COMMENT '        ',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_name_unique` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;

このsql文では、このようなENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;しかし、最後の3つが何をしているのかよく分かりません.  1. ENGINE=InnoDBってデフォルトでこのエンジンじゃないの?  2. AUTO_INCREMENT=22、自増ではありませんか?なぜ数字を設定するのですか?  3. もう居ないiniに設定しましたか?
ENGINE=InnoDBってデフォルトでこのエンジンじゃないの?
——はい、書かなくてもOKですが、デフォルトになります.ここに書いてあるのは、この表文がどれを使っているのかがよくわかりますし、表を作るときに書くのもいい習慣です
AUTO_INCREMENT=22、自増ではありませんか?なぜ数字を設定するのですか?
——これは自増です.ここで数字を設定するのは、この文を成長させたときに、22から自増させたいという意味です.
もう居ないiniに設定しましたか?
——これはmy.iniは設定しましたがmysqlの言語コードを設定していますが、ここで作成するときに設定しないと文字化けの問題が発生します.両者の役割ドメインは異なります.フォームを作成するとき、このcharsetがこのテーブルに作用します.mysql履歴書データベースデータテーブルを代表するときに文字セットをutf-8に設定します.