打卡规则小模块设计

  因为明天就要完成需求,所以先在这里把一些基本的信息进行记录,后面有时间再进行补充。

建表:

char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。

所以实际应用中用户可以根据自己的数据类型来做。 

再看看char,与varchar在速度上的区别吧。 

mysal>create tabe ab(v varchar(4),c char(4)); 
query ok ,0 rows affected(0.02 sec) 
mysql>insert into abc values('ab ','ab ') 
query ok ,1 row affected(0.00 sec); 
mysql->select concat(v ,'+') ,concat(c ,'+') form abc 
ab + | ab+ 
1rows in set (0.00 sec) 

从上面可以看出来,由于某种原因char 固定长度,所以在处理速度上要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例。 

注明: 

在用char字符类型时内容后面有空间时必须作相关处理,要不就会把空格自动删除。 

建意: 

myisam 存储引擎 建议使用固定长度,数据列代替可变长度的数据列。 
memory存储引擎 目前都使用固定数据行存储,因此无论使用char varchar列都没关系, 
innodb 存储引擎 建意使用varchar 类型 

建立表后插入中文出现以下错误

Mysql 插入中文错误:Incorrect string value: 'xE7xA8x8BxE5xBAx8F...' for column 'course' at row 

原因建表时没有加入utf-8编码。而采用了默认的latin1编码。

正确的:

CREATE TABLE `kq_card_rule` (
  `id` char(32)  NOT NULL COMMENT '主键',
  `card_rule_name` varchar(50) NOT NULL COMMENT '规则名称',
  `object_type` tinyint(2) NOT NULL COMMENT '对象类型:01代表经理;02代表人事;03代表销售;04代表其他',
  `card_place` varchar(100)  DEFAULT NULL COMMENT '地点',
  `time_interval` int(4) DEFAULT NULL COMMENT '打卡时间间隔',
  `rule_operator` varchar(15)  DEFAULT NULL COMMENT '规则添加者',
  `rule_type` tinyint(1) NOT NULL COMMENT '状态:0规则失效(下架),1规则有效',
  `inserttime` datetime DEFAULT NULL COMMENT '添加时间',
  `updatetime` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='打卡规则表'

  睡觉

接触到js对日期的格式化了,突然发现js还蛮强大的,既然前后端加需求分析都要做,那就多写点js代码。

new Date(value).format("yyyy-MM-dd  HH:mm:ss");
原文地址:https://www.cnblogs.com/limingxian537423/p/7999409.html