以前写的数据库表结构是固定的,现在要求表结构的字段可以动态添加,删除,请问应该如何实现?相应的添加数据,删除数据的sql语句应该如何动态的改变呢?

解决方案 »

  1.   

    就是一个数据库表,里面有几个字段压根儿就不知道,需要用户根据需要添加或删除,这样的话代码就需要不停的更改,很麻烦,有什么解决办法吗?
      

  2.   

    不太了解有什么好办好法
    但不建议你这样做,你的表结构设计的不合理,你要实现那些功能,说出来,让大家看看,或者有其它的方法可以解决
      

  3.   

    你想用动态表结构肯定是为了某一功能的实现
    而大家的意思是,其实你可以先说你要什么功能,然后可以有其他的实现方法
    一直修改表结构不符合关系数据库的解决问题的思路
      

  4.   

    好的,为化学样本的属性值建立数据库,问题是随着技术的发展,可能出现新的属性值,或原有的属性值没用了,这时候就需要将某种属性值删掉或增加一个新的属性值,所以想用动态表结构。
       有其他的解决办法吗?
      

  5.   

    动态添加表字段存在很不确定性风险。而且还消耗资源。如果并发 就更麻烦。还有就是 ,如果这个权限放给客户维护,很难想象结果会是什么样。即便是自己维护,改变表结构,你的响应的修改与该表相关的所有对象(视图、存储过程、函数等),这绝对是给自己找麻烦。按照你的是情况,我建议在创建表结构的时候,多建几个预留字段。我们曾经的几个项目都是这样,比如明细表上 多预留 6到8个字段以备用。如果你的需求调研的足够好,预留这么多个字段足够使用了。
      

  6.   

    也可以根据这个样本的ID,建立另一张属性表或映射表,把字段变成行集