将多个下拉值保存到 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 INTOtable_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中如何使一列中的多个重复数据只显示一次, 求大神指导,使得图中的班简名重复的只显示一次。