博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库设计心得
阅读量:7008 次
发布时间:2019-06-28

本文共 618 字,大约阅读时间需要 2 分钟。

一个类型字段如果使用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

你可能感兴趣的文章
阿里云ECS搭建Java+mysql+tomcat环境的简要步骤
查看>>
我的友情链接
查看>>
win7分区工具——Acronis Disk Director Suite
查看>>
JDK自带VisualVM监控tomcat 内存、CPU
查看>>
final在新的Jmm被重新定义,说说你对它的实现机制的了解?
查看>>
Move VMDK files to different datastores using vSphere web client
查看>>
我的友情链接
查看>>
隔离公司各个部门--虚拟路由器(EBGP)
查看>>
postfix队列里邮件超时退信设置
查看>>
【博客话题】发肿是嫉妒的表现!谁像死人一样发肿!
查看>>
SSD数据可靠性问题分析
查看>>
RHEL(RedHat Enterprise Linux)5/6 ISO 镜像[转]
查看>>
Linux意外之rpm的删除与恢复
查看>>
SVN使用教程
查看>>
对vc++类和对象的逆向研究
查看>>
OD消息断点的设置方法
查看>>
nagios 监控 网卡流量 脚本
查看>>
物理机向虚拟机迁移P2V
查看>>
我的友情链接
查看>>
CentOS在ssh下远程重装系统
查看>>