在SQL

时间:2016-10-28 19:45:19

标签: sql-server tsql

我正在尝试将逗号分隔的字符串添加到我的表设置为INT的列中。 我用它来引用类别ID,但现在我想要添加的不仅仅是一个类别。

认为我可以通过输入一个字符串来完成此操作:1,2,3而不仅仅是1但我收到的错误是此单元格中更改的值未被识别为有效。

这是否意味着我需要将该列更改为VARCHAR而不是INT?

1 个答案:

答案 0 :(得分:7)

不,这意味着您应该设置适当的表来支持1-many关系。也就是说,您需要一个单独的,而不是varchar列中的虚假数据表示。

为什么呢?好吧,SQL为列表提供了这个很棒的数据结构,叫做 table 。另外:

  • 数字应以原生格式存储,而不是字符串。
  • SQL具有(相对)较差的操作字符串的功能。
  • 对列的操作不会利用索引。
  • 如果数字代表另一个表中的id,则无法声明正确的外键引用。