数据库设计心得

一个类型字段如果使用int类型,那么类型标识最好从1开始

例子:

ALTER TABLE bx_message/*表名*/ADD COLUMN `SendChannel`/*字段名*/ int(4)  NULL COMMENT '发送渠道 0:PC端 1:微信端  2:短信';

SendChannel的类型是int,它的标识是从0开始的,这样带来的问题就是,我在使用mvc的模型验证时(Required)没有传SendChannel参数,但是他是int类型的,会默认是0,Required是通过的。

解决:

改成从1开始的,代码如下,这样不传SendChannel时默认为0,我在添加Range验证就可以了。

ALTER TABLE bx_message/*表名*/ADD COLUMN `SendChannel`/*字段名*/ int(4)  NULL COMMENT '发送渠道 1:PC端 2:微信端  3:短信'; 

表和表直间的关联问题

  • 表和表之间的关联一定要通过主键
  • 主键最好是自动生成的,用户不可以修改

原因:手机号登录,更换手机号问题

假如数据库是手机号做主键,用户表和其他表的关联也是通过手机号,这样用户在修改手机号时就需要修改跟用户表关联的所有表。

要是使用系统生成的主键,这样修改手机号只需要修改一张表就行

转载于:https://www.cnblogs.com/taohonggou/p/6677493.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值