用户在注册的时候有些非必填数据是如何存入数据库中的?

葱花鸡蛋 2017-01-03 03:22:58
用户在注册的时候一般会有好多信息需要填写,但有些是不必要的。这些不必要的信息怎么处理?
1. 是默认为空用户写了就插入用户输入的值,用户没写就插入默认的空值。
我感觉这种方法很浪费
2. 用一些其他方法,我并不知道这些方法,有大神知道怎么处理吗?
...全文
376 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
葱花鸡蛋 2017-01-04
  • 打赏
  • 举报
回复
看了大家的意见,得到了很多方法,谢谢大家
liufurun 2017-01-04
  • 打赏
  • 举报
回复
这个没有必要吧~~如果所有字段都是在一张表里,那么无论如何都要做一次insert操作~~~感觉这个开销大部分是在创建链接上,多几个null字段应该影响不大吧~~~当然在内存中动态拼接sql也是可行的~~~
gzcitizeny 2017-01-04
  • 打赏
  • 举报
回复
用户没填写的就传回一个空值就行了,反正都要对数据库进行一次写入操作。 否则还有检查哪个字段没有填写,根据这个修改sql语句更加麻烦。
caorongqiang 2017-01-04
  • 打赏
  • 举报
回复
在输入的时候,检查可选值是不是存在,如果不存在,就不用管; 如果存在了,检查格式是否满足限制条件;然后,动态生成SQL预处理语句,接参数的类型和位置依次添加用户输入的各项参数。对于所有不存在的可选项,填写数据库定义时的默认值,比如NULL。
kinoymir 2017-01-04
  • 打赏
  • 举报
回复
插入数据库的时候用动态SQL啊
cp3_nit 2017-01-03
  • 打赏
  • 举报
回复
这个感觉有点想太多吧...别人不填就传空进去好了。
葱花鸡蛋 2017-01-03
  • 打赏
  • 举报
回复
如果先进行判断,那插入数据库的参数的个数就不确定,有人知道怎么样向数据库(mysql)插入不定参数个数的数据?
xiaoyi94 2017-01-03
  • 打赏
  • 举报
回复
一般会进行判断,非空的属性才会插入,也会有不进行判断,直接插入空值的
数据应用系统设计与实现 实验类型:设计型 实验地点:2楼312 实验时间:12月14日、21日周五1-3/5-7节 实验内容: 系统概述: 某银行需要开发ATM存取款机系统实现如下功能: 1)开户(到银行填写开户申请单,卡号自动生成) 2)取款 3)存款 4)查询余额 题目要求: 一、建库、建表、建约束 1、使用SQL创建表 客户信息表userinfo 字段名称 说明 备注 customerID 顾客编号 自动编号(标识列),从1开始,主键 用序列sequence实现,用其属性:nextval customerName 开户名 必填 PID 身份证号 必填,智能是18位或15位,唯一约束 check约束length()函数 telephone 联系电话 必填,11位手机号 check约束,’[0-9]’ address 居住地址 银行卡信息表cardinfo 字段名称 说明 cardID 卡号 必填,主键,银行的卡号规则和电话好吗一样,一般前8位代表特殊含义,如某综合某支行等,假定该行要求其营业厅的卡号格式为10103576**** ***开始,每4位号码后有空格,卡号一般是随机产生。 curType 货币种类 必填,默认为RMB savingTate 存款类型 活期/定活两便/定期 openDate 开户日期 必填,默认为系统当前日期 openMoney 开户金额 必填,不低于1元 balance 余额 必填,不低于1元,否则将销户 pass 密码 必填,6位数字,开户时默认为6个“6” IsReportloss 是否挂失 必填,是/否值,默认为“否” customerID 顾客编号 外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号 交易信息表transinfo 字段名称 说明 transDate 交易日期 必填,默认为系统当前日期 cardID 卡号 必填,外键 transType 交易类型 必填,只能是存入/支取 transMoney 交易金额 必填,大于0 remark 备注 可选,其他说明 2、使用SQL语言在每个表上添加约束 主键约束、外键约束、CHECK约束、默认约束、空约束 二、插入测试数据 使用SQL语言向每个表插入至少3条记录 三、模拟常规业务 1)修改客户密码 2)办理银行卡挂失 3)统计银行资金流通余额和盈利结算 银行资金流通余额=总存入金额-总支取金额 盈利结算=总支取金额 * 0.008 – 总存入金额 * 0.003 4)查询本周开户的卡号,显示该卡相关信息 5)查询本月交易金额最高的卡号 6)查询挂失账号的客户信息 四、利用视图实现数据查询 1)为客户提供以下3个视图供其查询该客户数据 客户基本信息:vw_userInfo 银行卡信息:vw_cardInfo 银行卡交易信息:vw_transInfo 2)提供友好界面,要求各列名称为文描述 3)调用创建的视图获得查询结果 五、用存储过程实现业务处理 1)完成开户业务 2)完成取款或存款业务 3)根据卡号打印对账单 4)查询、统计指定时间段内没有发生交易的账户信息
开发本系统的目的在于:根据培训机构的特点,培训管理工作是培训机构常重要的一部分,有效地管理学生报名信息,提高培训机构培训管理工作的效率,使管理人员从繁重而复杂的管理工作摆脱出来,从而节省工作人员的人力和时间,利用计算机加工后的信息进行决策。系统要求能实现学生报名、调班、延班、插班、退费、报表统计及打印听课证、基本设定、开证明和修改学生报名信息的功能。 1.报名 将学生信息录入培训管理系统, 系统自动检查“必填项”,如有未填项,则提示工作人员将数据补充完整并检查有没有重复录入的现象,询问是否打印听课证,若有课程在早于一个月前已经开课,系统自动从班次滤去,不再显示。 2.调班 能根据输入的学生原始信息,如姓名、报名日期及班次,找出学生纪录(要做到输入一项或多项均可进行查询,其姓名项允许模糊查询)并打印听课证,数据备注文件加入一项调班信息(某年某月某日从某校区某班转至某校区某班),如果多次调班,应有多条调班纪录并在原来所报班级名册删除学生名字,在调班班级名册添加学生名字。 3.延班 (1) 办延班 同上找出学生信息后,输入剩余学费,将信息存入延班库,在原来所报班级名册删除学生名
Nginx的反向代理 http://www.cnblogs.com/zhrxidian/p/5491285.html tomcat+nginx+redis实现均衡负载、session共享(二) 今天我们接着说上次还没完成session共享的部分,还没看过上一篇的朋友可以先看下上次内容,http://www.cnblogs.com/zhrxidian/p/5432886.html。 1.redis简介及下载安装 作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据,拥有丰富的键值储存类型,并提供多种语言的API。 与一般数据不同,redis是使用内存作为主存,而使用硬盘来实现数据持久化,而且redis是周期性的将数据写到硬盘上。这就意味着一旦我们服务器出现断电、重启之类的情况,我们很可能会出现数据丢失的情况,所以不建议使用redis来存放关键的数据。当然,也正因为redis读写数据都使用内存,所以它的速度是常快的,很适合我们来存放一些临时性的数据。 此外,redis能实现的作用很多,诸如队列、缓存之类的,但我也还没使用过,无法在这里为大家说明,但不影响我们今天的session共享功能。 首先我们先下载redis,这是windows版本的下载地址 https://github.com/ServiceStack/redis-windows。 可以点击右边下载全部文件,但感觉没必要,而且下载速度偏慢,建议进入downloads里面下载我们所需的redis包即可。 redis在windows下是免安装的,下载完成后,解压,将文件夹复制到自己某个盘就好了。解压后是这个样子的。 一开始redis是默认不需要密码,如果想要设置密码,可以进入redis.windows.conf文件下找到requirepass,删除前面的#号,在其后面便可以设置密码,我这里设成了123456。 下面我们打开redis。首先打开cmd,进入我们redis目录下,输入redis-server.exe redis.windows.conf。出现下面界面,则打开成功。(不可偷懒想双击redis-server.exe完事,这样虽然也能打开,但不会加载配置文件)。 另外和别的数据一样,我们需要安装一个辅助的可视化工具Redis Desktop Manager,这是下载地址:http://redisdesktop.com/download。 我们下载windows版本,安装完成后,还没有任何连接对象,那就让我们给它添加一个。点击下方的connect to redis server,出现个弹出框。然后Name我们可以随便输,Host添我们redis服务器的ip地址,本地可以直接填写localhost,端口默认为6379,Auth就是密码,不是必填项,如果没设置密码可不填,点击OK,建立完成。 至此,我们的准备工作都已经完成,下面开始我们的spring与redis的整合之旅。 2.Spring与Redis的整合之旅 这是上篇文章结束时我的项目目录。 其实Spring本身就有提供对redis的支持,就是spring-session,我们只需将这个在pom.xml添加如下代码,maven便会自己下载所需的jar包及依赖包。 1 <dependency>2 <groupId>org.springframework.session</groupId>3 <artifactId>spring-session-data-redis</artifactId>4 <version>1.1.1.RELEASE</version>5 <type>pom</type>6 </dependency> 随后我们在resources文件夹新建一个redis.properties,往里面添加如下内容。 再新建一个spring-redis.xml,往里面添加我们redis相关的配置。其maxInactiveIntervalInSeconds是设置session有效时间,以秒为单位,但实际上无论怎么设,session真实有效时间还是会比我们设置的稍微长一些。 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http:/

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧