呵呵,你需要使用 InnoDB 表类型,
目前, MySQL 中,只有 InnoDB 表类型提供外键约束,具体的操作与注意项建议你查看一下 InnoDB 参考手册

解决方案 »

  1.   

    企业表
    企业ID
    企业名称
    ....
    ....
    企业级别级别表
    级别ID
    级别上级
    级别level
      

  2.   

    不好意思,没看到上面的回复那就这样吧企业表
    企业ID
    企业名称
    ....
    ....
    企业大类
    企业小类企业大类级别表
    级别ID
    级别名称企业小类级别表
    级别ID
    级别名称
    级别上级
      

  3.   

    生成树级的大概流程...三重循环
    1.while(select * from 大类级别表)
    {
        取出每个大类的ID
        2.while(select * from 小类级别表 where 级别上级=大类ID)
        { 
            取出每个小类的ID
            while(select * from 企业表 where 企业大类=大类ID and 企业小类=小类ID)
               {取出企业信息}
    }
      

  4.   

    如果考虑到以后类别有添加的可能,可以用挂月的数据表结构!关于查询,用户输入的是类别名称,我的方法是:select 企业表.* from 企业表 
    left join 企业大类表 on 企业表.企业大类ID=企业大类表.企业大类ID 
    left join 企业小类表 on 企业表.企业小类ID=企业小类表.企业小类ID 
    where 企业大类表.企业大类名称=查询名称 or 企业小类表.企业小类名称=查询名称如果是模糊查询,例如用户输入'纺织',上面where条件语句可以改为
    where 企业大类表.企业大类名称 like '%纺织%' or 企业小类表.企业小类名称 like '%纺织%'浅见,:)