全部。
现在我正在为网站创建 mysql 表的设计。下面你可以看到它。我有 3 张桌子:
- tbl_user - 对于用户;
- tbl_session - 用于会话和
- tbl_block - 用于阻止用户 - 它的工作方式如下:
- 如果
block == 0
您可以登录, - 如果
block == 1
您无法登录: login_number - 递增计数(默认 == 1)如果用户输入 3 次错误密码(login_number == 4),它将被阻止 1 小时(阻止将更改为“1”并且 time_blocked 将设置) - 如果
block == 2
您因其他原因无法登录。
- 如果
-- -----------------------------------------------------
-- Table `mydb`.`tbl_user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_user` (
`user_id` INT NOT NULL AUTO_INCREMENT ,
`username` VARCHAR(200) NULL ,
`password` VARCHAR(200) NULL ,
`salt` VARCHAR(200) NULL ,
`info` VARCHAR(200) NULL ,
`date_created` DATETIME NULL ,
PRIMARY KEY (`user_id`) ,
UNIQUE INDEX `username_UNIQUE` (`username` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`tbl_session`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_session` (
`session_id` INT NOT NULL AUTO_INCREMENT ,
`user_id` VARCHAR(200) NULL ,
`data` VARCHAR(200) NULL ,
`info` VARCHAR(200) NULL ,
`date_created` DATETIME NULL ,
`date_expired` DATETIME NULL ,
PRIMARY KEY (`session_id`) ,
UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`tbl_user_block`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_user_block` (
`block_id` INT NOT NULL AUTO_INCREMENT ,
`user_id` VARCHAR(45) NULL ,
`block` TINYINT NULL DEFAULT 0 ,
`login_number` TINYINT NULL DEFAULT 1 ,
`info` VARCHAR(200) NULL ,
`date_blocked` DATETIME NULL ,
PRIMARY KEY (`block_id`) ,
UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC) )
ENGINE = InnoDB;
可以吗?我需要改进或改变什么?