日期:2014-05-16  浏览次数:20803 次

要不要使用references?
建表的时候  比如user表和payroll表  
user表有user_id,user_name;
payroll表有payroll_id,payroll_pay,payroll_user_id;
现在payroll需要和user一一对应,可以写成payroll_user_id references user.user_id,
也可以直接写成 payroll_user_id(在插入记录的时候,查询user表的user_id,并作为一个属性插入到payroll表)。

这两种方法,那种比较好……会不会影响效率什么的

主要是想做一个回收站,有删除和彻底删除。
以前想的是,增加一个字段,表示存在状态,0为存在,1为已删除,但回收站能恢复,2为彻底删除。
现在想既然彻底删除,那就彻底删了吧……但是这里又担心有外键的时候,会因语句写不恰当而报错

求指点~

------解决方案--------------------
有个状态码表示数据的状态,默认0为存在,删除到回收站的时候改为1。彻底删除不保留数据的话就在程序里手动进行级联删除就行了。一般在项目开发中也不使用外键,只是在逻辑上知道是外键关系但是不设置外键,并且不建议使用外键的级联删除,用程序手动控制。
------解决方案--------------------
写个触发器级联删除