最近遇到一个不合理使用数据库进行项目开发最终导致项目进度受阻的一个问题,某天几位开发人员找到我并告知数据库中某张表数据无法写入,又告知某行记录被删除了,因为被删除的记录对开发框架影响很大,他们已尝试重新写入但无法生效并以为是表坏了(有时候你以为的就真的只是你以为)。
遇到这种紧急需求肯定是要先明确需求和问题,需要清楚开发需要DB支持什么。最终才明白某几张表中的起始数据被插入ID为0的记录,这个与我们经常说的自增ID起始为1不符合,明显是不符合数据库开发规范的。数据删除容易,恢复起来真的不容易,还是恢复一条不规范的数据库需求,由于现象比较特殊且是历史问题,优化不易暂且先恢复(这里强烈不建议插入ID为0的数据记录)。
#表结构如下
CREATE TABLE`xx_xxxx_xxxx` (-> `id` int(11) NOT NULLAUTO_INCREMENT,-> `deposit_name` varchar(100) NOT NULL COMMENT '存款类型名称',-> `deposit_threshold` decimal(11,2) NOT NULL COMMENT '预存门槛金',-> `deposit_interest` decimal(11,2) NOT NULL DEFAULT '0.00' COMMENT '预计赠送总额',-> `is_interest` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否赠送(1赠送 0不赠送)',-> `rate_type` tinyint(4) NOT NULL DEFAULT '2' COMMENT '利率类型(1月利率,