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