将多个下拉值保存到 SQL 数据库的一列中

Posted

技术标签:

【中文标题】将多个下拉值保存到 SQL 数据库的一列中【英文标题】:Save multiple dropdown value into one column in SQL database 【发布时间】:2018-01-17 17:19:00 【问题描述】:

我想使用 ASP.NET Web API 将多个值保存到数据库的一列中。

在前端,我可以从下拉列表中选择多个值,但是在保存到数据库时,它会引发错误。

例如。如果我在下拉列表中有四个选定值(val1、val2、val3、val4),我希望所有值都存储在一列中,在数据库中用逗号分隔。

【问题讨论】:

INSERT INTO table_name(col1) VALUES (val1, val2, val3, val4)?? 我们可以看看你的尝试和错误信息吗? 不要这样做! 说真的 - 这是关系数据库最糟糕的设计,它甚至违反了第一准则数据库设计的形式。不要不要这样做!相反,使用关系特征并将四个值作为四行存储在一个单独的表中 - 是一种适当的关系设计。 @marc_s 是正确的,这是一件非常糟糕的事情。这将使查询您的数据变得非常困难。它会使您的数据库变慢。数据库针对关系表进行了优化。它将以各种可能的方式有害。不要这样做!!!!!!!!! 【参考方案1】:
string[] values = new string[] val1, val2, val3, val4 ;

string joinedVal = string.Join(",", values) ;

但是说真的,这几乎可以肯定是个坏主意,如果您想使用数据,它会反过来咬您一口。

【讨论】:

以上是关于将多个下拉值保存到 SQL 数据库的一列中的主要内容,如果未能解决你的问题,请参考以下文章

将多个复选框保存到一列中

更多列,或一列中的多个值 - SQL 数据库?

sql中如何使一列中的多个重复数据只显示一次, 求大神指导,使得图中的班简名重复的只显示一次。

重命名值输出并将值合并到 SQL 中的一列中

将数据复制到同一张表和从同一表复制数据,并将复制数据的一列中的值更改为指定值

SQL 语句 - 在一列中获取多个值