zoukankan      html  css  js  c++  java
  • 数据库设计心得

    一个类型字段如果使用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:短信'; 

    表和表直间的关联问题

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

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

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

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

  • 相关阅读:
    in exists
    oracle 12514文件解决
    oracle11g自动内存管理
    lvs为何不能完全替代DNS轮询
    druid安装
    macbook 安装win7
    GBT MBR
    python的文件操作
    zabbix简易安装指南
    zatree的安装
  • 原文地址:https://www.cnblogs.com/taohonggou/p/6677493.html
Copyright © 2011-2022 走看看