有没有办法向 SQLite 模式中的列添加任意文本(例如提示或帮助文本)?

问题描述 投票:0回答:1

我有一个 SQLite 数据库,它需要每列的用户输入,因此我需要为每列提供提示和简短的帮助文本。我能看到对此进行编码的唯一方法是使用每列的 DEFAULT 值,但这不是 DEFAULT 的用途,并且可能会导致不必要的后果。我可以为每个实际列再定义两列,并用文本预先填充它们,但这似乎是一种非常严厉的方法。或者我可以有一个完全独立的数据结构,其中列名称作为访问文本的键。

是否有一种巧妙的方法来存储架构本身中每列的文本?

sqlite
1个回答
0
投票

我有一个 SQLite 数据库,它需要每列的用户输入

根据经验,如果您需要以相同的方式处理列(提示1、提示2、提示3,...),那么您可能需要旋转表。将这些列变成行。

你需要两张桌子。一项用于提示,一项用于用户的答案。

create table users (
  id integer primary key,
  name text not null
);

create table prompts (
  id integer primary key,
  prompt text not null,
  help text
);

create table answers (
  user_id integer not null references users on delete cascade,
  prompt_id integer not null references prompts on delete cascade,
  answer text not null,

  -- assuming a user can only answer each prompt once
  unique(user_id, prompt_id)
);
© www.soinside.com 2019 - 2024. All rights reserved.