ios - SQL 2 表,ios

标签 ios sql database

我正在制作聊天应用程序,我想用 sql 记录历史记录,我希望在消息 VC 中我将看到与我聊天的所有用户,我想拥有每个用户的历史记录。我这里需要有2个sql表吗?或者我该如何实现它?

我可以制作一个 sqlite 表,但如何添加另一个?

最佳答案

如果您问您的 SQLite 数据库中是否可以有多个表,答案很简单,可以。只需为您需要的每个表发出适当的 CREATE TABLE 语句即可。

如果您询问是否可以在运行时动态创建额外的表(例如,为每个聊天 session 创建一个表),是的,您也可以这样做(同样,只需发出 CREATE TABLE 语句) ,但您可能不想这样做。您通常需要一个固定的模式,该模式由一系列捕获数据模型的表表示。

例如,如果我要实现一个有多个用户的聊天系统,我可能会实现三个表,一个聊天 session 列表,一个参与每次聊天的用户的列表(假设您可能有多个用户在一个聊天),以及每个 session 中的个人聊天消息。我会预先创建这些表,例如:

-- 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);               -- what

关于ios - SQL 2 表,ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22253821/

相关文章:

python - 从 odoo 网站点击按钮存储数据

mysql - SQl - 我如何创建单个表的多个副本

objective-c - iOS自毁单例设计模式

c# - 将 SQL CASE WHEN 语句转换为 C#

ios - 当 UITextField 在 UITableViewCell 中时,我如何编辑它?

sql - 设置主键自增

sql 在 ssms 中运行快在 asp.net 中慢

android - 当我在回收器 View 中显示数据时出错 :RecyclerView: No adapter attached; skipping layout

ios - Swift - 无法从 Firebase 数据库中检索数据

ios - viewDidAppear 上的动画 UIImageView 和 UITableView