MYSQL自动审核关于AUTO_INCREMENT提示

一 序

  公司的sql工单,引入了自动审核工具。毕竟人肉审核太苦了,想想也可知道,靠dba的火眼金睛忙不过来,一出差就是大问题。这里工具是Inception。好了背景结束了。

二 

要备份线上历史表的数据,所以基本上就是考show create table 来看看原来怎么建的,copy出来,改改表名加日期就是备份表了。

CREATE TABLE `XXX` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',

提示报错语句如下:

Set unsigned attribute on auto increment column in table XXX

整数主键有可选的属性“UNSIGNED”(无符号),看下书上的介绍。


类型声明符号取值范围
有符号整数SIGNED-2147483648 ~ 2147483647
无符号整数UNSIGNED0 ~ 4294967295

所以,简单的修改就是建表SQL加上unsigned,主键都是正数。

CREATE TABLE `XXX` (
    `id`  int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键' ,
    PRIMARY KEY (`id`)
)
ENGINE=InnoDB AUTO_INCREMENT = 100 DEFAULT CHARACTER SET=utf8 COMMENT='XXX表';

***********************

因为mysam的不常用了,innodb类型的update auto_increment字段,如果列值与已有的值重复,则会出错;

所以关于id不建议采用了auto_increment。尽量外部生成后设值,简单不出错。


编写一款运行在Android的API35,以java为编程语言,使用直连MySQL 5.7数据库的方法实现仓库管理的系统,要求如下: 1、登录界面上部有“仓库管理系统”字样,使用手机号码和密码登录,有三个单选登录权限选择按键分别是:管理员、操作员、普通用户,在登录界面还需要实现记住密码的功能,只有一个登录按键,登录界面直接使用用户表(user)中的枚举类型角色判断登录的权限,勾选自动登陆才使用自动登录功能。 2、仓库管理系统的子功能包括:物品搜索、入库操作、出库操作、添加物品、删除物品、申请物品借用和审批、设置库存预警、查看行为操作记录、消息通知、数据统计、添加账号、删除账号、修改密码和个人信息。 3、子功能的说明: 物品搜索:按照物品名称、物品ID、物品类别搜索物品的全部信息。 入库操作:输入的字段包括:物品名称、物品数量、图片、详细说明、物品类别;其中物品类别只能看不能选;物品名称只能在已有名称下选择。 出库操作:输入的字段包括:物品名称、物品数量、图片、详细说明、物品类别;物品类别只能看不能选;物品名称只能在已有名称下选择。 添加物品:输入的字段包括:物品类别、物品名称、图片、详细说明、规格、单位、存放位置;物品ID由数据库自增。 删除物品:先跳转到一个搜索页面,然后根据物品ID或物品名称搜索到物品详细信息后显示全部物品信息 ,此时才能删除,删除需要确认。 申请物品借用和审批:申请物品借用和审批的流程是:首先,由普通用户提出申请;然后到操作员审核审核通过则发送通过消息给普通用户;如操作员审核不通过则需要管理员核实申请是否合理,合理则通过并发送申请通过消息给普通用户,不合理则不通过并且发送不通过消息返回给普通用户。 设置库存预警:可以设置最低和最高库存预警;库存预警信息在消息通知中显示;低于最低库存预警时,如有出库操作先提示库存低才能操作。 查看行为操作记录:可以按用户、操作类型查找。 消息通知:接收申请物品借用和审批中的消息和通知;库存预警信息。 数据统计:按年统计消耗品类出入库报表、按月统计消耗品类出入库报表、按消耗品类统计物品数量、按固定资产类统计物品数量、按使用用户统计消耗品类出入库报表。 添加账号:管理员可以添加新用户。 删除账号:删除需要确认。 修改密码:只能修改个人账户的密码。 修改个人信息:只能修改个人账户的信息。 4、登录成功后跳转到的界面是带有底部导航栏的主界面,底部导航栏包括:首页、信息、我的。 5、底部导航栏中, 首页fragment功能有:物品搜索、入库操作、出库操作、添加物品、删除物品、申请物品借用和审批、设置库存预警; 信息fragment功能有:查看行为操作记录、接收消息和通知、数据统计; 我的fragment功能有:显示账户对应的权限名称和姓名、添加账号、删除账号、修改密码和个人信息。 6、根据角色权限隐藏部分子功能,其中 管理员拥有全部权限; 操作员拥有的权限有:物品搜索、入库操作、出库操作、添加物品、删除物品、申请物品借用和审批、设置库存预警、消息通知、修改密码和个人信息; 普通用户权限包括:物品搜索、消息通知、修改密码和个人信息、申请物品借用。 7、用户表(user)字段有:用户ID(user_id)、电话号码(phone)、密码(password)、角色(role)、姓名(name)、性别(sex)、年龄(age)、所在部门(department)、创建时间(user_create),其中角色和性别是枚举类型,登录界面直接使用角色判断登录的权限,用户ID字段是数据库自动增长类型的,在数据库中生成创建时间。 8、物品表(goods)字段有:物品ID(goods_id)、物品名称(goods_name)、规格(size)、类别(type)、单位(unit)、存放位置(place)、图片、说明(explain);其中类别用枚举类型,分别是消耗品类和固定资产类。 9、实现查看日志的功能:需要实现在:登录、入库、出库、审批、申请等重要事情时记录的功能。 10、申请物品借用和审批的流程是:首先,由普通用户提出申请;然后到操作员审核审核通过则发送通过信息给普通用户;如操作员审核不通过则需要管理员核实申请是否合理,合理则通过,不合理则不通过并且发送不通过信息返回给普通用户。 11、在activity、controller中不实现连接MySQL数据库的操作,使用dao类代替。 12、实现连续两次返回退出APP的功能。 13、所有数据库表中ID字段都是数据库自动增长类型的。 14、入库操作、出库操作、添加物品、删除物品、申请物品借用和审批的功能需要有保存图片的功能。 15、每一行代码都要有注释。 16、数据存储和传输全部使用明文。 17、不使用switch语句,使用if代替。 18、给出界面xml和相应的java逻辑代码。 19、只要求能实现功能,代码要尽可能简单。 20、要分模块地实现功能。 21、要有明确的输入验证和错误处理。 22、数据库连接类名用MySQLHelper。 23、使用toast提示信息。 24、最后有详细的实现说明。 25、xml只使用Android原生组件实现,不使用Google组件。 26、使用MVC框架开发。 27、使用toast提示信息。 28、不允许使用AsyncTask,用handler、looper、thread、message组合代替asynctask。 29、所有子功能都使用activity实现。
03-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bohu83

买个馒头吃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值