分类下有信息时不允许删除这个分类,更新分类代码后可以用下面的sql语句更新:
update table set sortcode='newcode' where sortcode='oldcode'
这并不会费多少资源。
其他需要考虑的问题都可以很容易解决。

解决方案 »

  1.   

    我做的不允许直接删除子节点。
    若要更新父节点或删除子节点,的确要更新下级节点代码和信息代码,不过可以用replace函数很快解决。
      

  2.   


    lz看看这里:
     [PHP设计模式]Composite(组合)模式范例实现无限级分类,组合模式应该是最理想的,
    可以,用SQL实现树结构有很大的瓶颈。
      

  3.   

    lz设计的数据表,只能在小型系统上使用。如果商品数据量很大,整个数据库很容易出现I/O瓶颈,性能马上就下来。因为你的设计有一个致命错误——没有正规化!
    近乎相同的分类数据和单一的商品数据都混同在一个表中。
      

  4.   

    增加两个字段来操作应该效率更高首先,增加 根类别id号。以及类别的level,这样效率提高很多。
      

  5.   

    这个帖子也有相关的讨论,大家可以去看看
    http://topic.csdn.net/u/20081006/21/ce4bc97c-fa4f-4ff0-8171-26615928e48c.html