我正在为有关IT的问题创建一个票务系统。我有下表:
id
userID
priority
details
rank
conversation
order
status
ts
我需要的是能够在IT部门和用户之间来回显示对话。所以我想我有两列conversation
和order
。列conversation
将是唯一标识符(数字或文本),顺序将显示行在对话中播放的顺序(1,2,3等)。
我的问题是:
我可以生成随机的PHP 5字符或其他内容,或者给出一个数字,每个用户都有对话号1,数字2等。但是如果我这样做了,我怎么能找到下一个用于用户使用mySQL?
任何想法和建议都会有所帮助,谢谢。
答案 0 :(得分:2)
我可能会将对话存储在另一个表中,该表具有唯一的ID和在票证表中id的链接。
这个其他表可能包含“来回”序列的自动增量ID,全局会话密钥(存储在票证表中)和会话(行)本身。
我还建议您存储支持技术人员和支持人员的用户名,以便明确谁说出了什么。
您也可以添加时间戳以便清晰。
答案 1 :(得分:1)
我会选择像@Debock这样的单独表格。我的结构有点不同但是:
create table ticket_conversation (
id int not null auto_increment primary key
, ticket_id int not null
, user_id int not null
, conversation_text text
, conversation_timestamp timestamp default current_timestamp
, foreign key ticket_id references ticket(id)
, foreign key user_id references user(id)
, key(ticked_id, conversation_timestamp)
)
时间戳允许您跟踪评论的发布时间,并通过它进行排序将为您提供评论序列。
答案 2 :(得分:0)
SQL表通常有一个列,用于存储称为主键的唯一标识符。主键可以是自动生成的整数。因此,您无需为尝试在PHP中创建唯一标识符而烦恼。
我建议在不久的将来,对数据库及其工作原理进行一些深入阅读。试试Database Design for Mere Mortals。从数据库设计的角度来看,它将为您提供有关可能性和如何处理问题的良好基础。