你为什么就不能
RecordID Time StaffID ClientID assignment
1 2004-12-12 1 1 网络维护
1 2004-12-12 2 1 网络维护
这样来提交你的数据库呢?何必搞得如此麻烦?也许我板你的问题想简单了!也许是你自己想复杂了!
RecordID Time StaffID ClientID assignment
1 2004-12-12 1 1 网络维护
1 2004-12-12 2 1 网络维护
这样来提交你的数据库呢?何必搞得如此麻烦?也许我板你的问题想简单了!也许是你自己想复杂了!
解决方案 »
- 关于SESSION 时间的问题,请大牛解释一下
- 如何修改HTTP_USER_AGENT,把网页浏览器伪装成手机浏览器
- PHP des加密输入怎么才能和JAVA的des输出一至呢
- 改造discuz 问题 火狐不支持自动提交 IE可以(不好意思没分了)
- win7 iis7.5 fastcgi 配置PHP问题
- 很奇怪的一个php代码加密优化的问题
- PHP 的写法错误
- 如何的到PHP脚本错误发生的行号?
- 有没有把别人网页的内容全部抓到自己的服务器里的脚本,包括图片等就象IE的保存网页功能一样。
- 关于用phpmyadmin建立数据库,导入文件大小的问题,求大虾指教!
- 请教关于无限分类的问题
- 想到深圳找工作,有几问题想问一下大家,谢谢!
哎,都是因为mysql没有主外键。。
1、如 leyan728(乐言) 所说分开用多条记录保存
2、维持原方案,查询时用find_in_set函数,如
select * from staff,record where find_in_set(staff.StaffID,record.StaffID);
将得到
StaffID StaffName RecordID Time StaffID ClientID assignment
1 张三 1 2004-12-12 1,2 1 网络维护
2 李四 1 2004-12-12 1,2 1 网络维护
3 王五 2 2004-12-13 3 2 上门配置交换机
1 张三 3 2004-12-14 1,3 3 协助杀毒
3 王五 3 2004-12-14 1,3 3 协助杀毒 附以其他手段即可方便的满足你的要求
谢谢你的回复,我的解决方案确实不利于维护,仅仅在做复杂查询的时候就遇到了许多的问题。看来我是把问题搞复杂了,个人觉得您提出的第二种方案(查询时使用find_in_set函数)比较适合我的需求,我正在改我的代码,如有不明白的地方,还要再向大家讨教。
如果我的员工信息数据库表:staff存在超过10个员工,如
StaffID StaffName
1 张三
2 李四
3 王五
……
11 无名那么,如果我想查询ID为1的张三的工作记录时
执行
select * from staff,record where find_in_set(1,record.StaffID);
那么结果也会把 无名 的工作记录查询出来
因为find_in_set(1,record.StaffID)会把所有包含字符串为1(包括11)的记录查询出来,这该怎么办呀?我想到一个笨方法:
维修记录数据库表record的StaffID字段采用这种格式进行存储:1|2|11|
以后如果单独查询一个人的记录就执行find_in_set(1|,record.StaffID)
呵呵,不过感觉这种方法好像不太正规呀!