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に設定します.