数据库表的结构随意修改的可能后果 | 您所在的位置:网站首页 › 更改字段类型的后果 › 数据库表的结构随意修改的可能后果 |
1、数据丢失。比如你有个vchar类型的,你把它改成int,不支持互相转换的数据就会全部清空; 2、程序调用了数据库,如果不是预期的类型,结构一改很可能程序会出错;
不管字段是否使用到,数据库已经创建一般就不修改(特指删除),不然对即将更新数据库的应用来说,将损失很多用户。 可以写一个数据库升级脚本,如(摘抄网友): if not exists(select * from syscolumns where id=object_id('gresmanager_goods') and name='goods_allow_discount') ALTER TABLE gresmanager_goods ADD goods_allow_discount int NULL DEFAULT (0) GO UPDATE gresmanager_goods SET goods_allow_discount=0 GO if not exists(select * from syscolumns where id=object_id('gresmanager_table_consume_detail') and name='detail_discount') ALTER TABLE gresmanager_table_consume_detail ADD detail_discount decimal(18,4) NOT NULL DEFAULT (1) GO UPDATE gresmanager_table_consume_detail SET detail_discount=1 GO if not exists(select * from syscolumns where id=object_id('gresmanager_consume_bill_tmp') and name='bill_deposit') ALTER TABLE gresmanager_consume_bill_tmp ADD bill_deposit decimal(18,4) NULL DEFAULT (0) GO UPDATE gresmanager_consume_bill_tmp SET bill_deposit=0 GO |
CopyRight 2018-2019 实验室设备网 版权所有 |