我正在制作聊天应用程序,我想用sql来描述历史,我想在消息VC中看到与我聊天的所有用户,我想为每个用户创建一个历史记录。我需要在这里有两个sql表,还是如何实现它?
我可以做一张方形桌子,但是怎么加另一张呢?
发布于 2014-03-07 15:46:27
如果您问您是否可以在SQLite数据库中拥有多个表,那么答案很简单,是的,您可以。只需为需要的每个表发出适当的CREATE TABLE语句即可。
如果您询问是否可以在运行时动态地创建额外的表(例如,每个聊天会话都创建一个表),是的,您也可以这样做(同样,只需要发出CREATE TABLE语句),但是您可能不想这样做。您通常需要一个固定的架构,该架构由一系列捕获数据模型的表表示。
例如,如果我用多个用户实现一个聊天系统,我可以实现三个表,一个聊天会话列表,一个用户参与每次聊天的列表(假设一个会话中可能有多个用户),以及每个会话中的单个聊天消息。我会先做这些桌子,就像:
-- a list of chat sessions
create table session (session_id integer primary key autoincrement,
session_start_timestamp double);
-- a list of which users participated in the specified session
create table session_user(session_user_id integer primary key autoincrement,
session_user text not null, -- who
session_id integer not null); -- which session
-- the individual chat messages
create table chat_history (chat_id integer primary key autoincrement,
session_id integer not null, -- which session
chat_timestamp real not null, -- when
session_user_id integer not null, -- who
chat_message text); -- whathttps://stackoverflow.com/questions/22253821
复制相似问题