所有
现在我正在为网站创建mysql表的设计。下面你可以看到它。 我有3张桌子:
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;
可以吗?我需要改进或改变什么?
答案 0 :(得分:1)
我会使用它变为UNBLOCKED的时间而不是它被阻止的时间(简化解锁逻辑),但是你所支持的内容是什么。