将长字符串作为字段保存的良好实践

dbf7pr2w  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(278)

我正在创建一个sql数据库,其中有一个包含问卷答案的表。这些问题是完整的句子(每个大约150个字符),我想知道什么是作为字段维护这些信息的最佳方法。我还不熟悉sql,但我看到两种选择:
将每个问题设置为一个数字(1、2、3、4…),并有一个单独的表,其中包含实际问题作为链接到第一个表中数字的数据。
create table中的某个方法允许您将字段设置为句子。我原以为引用是可行的,但事实并非如此。
编辑:
我想做的一个简单例子:

CREATE TABLE survey(
    index_id INT PRIMARY KEY,
    'between 1 and 10, how do you feel about the transparency of the scientific community?' VARCHAR(5)
);

谢谢!

k75qkfdt

k75qkfdt1#

一般使用 VARCHAR(255) 带编码 utf8mb4 是一个很好的违约。如果你需要长格式的数据,比如短文、多段文字等,那么使用 TEXT 或者 LONGTEXT .
这实际上是一个单表问题:

CREATE TABLE questions (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  questionnaire_id INT NOT NULL,
  num INT NOT NULL DEFAULT 0,
  question VARCHAR(255) NOT NULL
);

如果需要,您可以通过添加另一个问卷表来获得多个问卷,或者只使用该数字来划分问题。

0s7z1bwu

0s7z1bwu2#

您正在混合表中的数据并创建表。
创建表时,定义表的结构
然后可以向表中添加数据
然后可以查询表。
例如,创建一个表。

create table questionanswer (
  questionnumber integer,
  answer varchar(200)
)

向表中添加数据

insert into questionanswer (questionnumber, answer)
   values (1, 'election day')

查询表中的值

select answer
from questionanswer
where questionnumber = 1

相关问题