主キーを持つ単純なユーザー テーブルを設計し、次にテーブルへの外部キーとしてuserid
使用する別のテーブルを設計しようとしています。ここで正しい考えがありますか? userid
users
CREATE TABLE `users` (
`userid` INT(6) NOT NULL,
`username` VARCHAR(50) NOT NULL,
`password` VARCHAR(50) NOT NULL,
`date_join` DATE NOT NULL, <- should I just make this CURDATE instead?
`user_handle` VARCHAR(50) NOT NULL,
`date_modified` DATE NOT NULL,
PRIMARY KEY (`userid`)
)
1) ユーザー ID を自動インクリメントするにはどうすればよいですか?
2) パスワードを MD5 ハッシュとしてどのように保存しますか? また、brcrypt を強く推奨しているさまざまなコーダーを読みましたが、どう思いますか?
3)シンボルuser_handle
の前の電子メールの最初の部分にデフォルトを設定するにはどうすればよいですか? @
そのようなものjohn@smith.com
は、のユーザーハンドルを生成しますjohn
。
4) ユーザーデータベースを設計する際に取るべき追加のセキュリティ対策はありますか?
5) ユーザーに関連付けられた他のテーブルの外部キーには、ユーザーを指す外部キーが必要userid
ですか?
質問が多すぎないことを願っています。