【问题标题】:inserting multiple value in one column in sql server在sql server的一列中插入多个值
【发布时间】:2013-11-28 10:13:47
【问题描述】:

这是我的 sql 查询

update employee 
set StaticIp='(59.90.187.91),( 117.218.1.147)'
where EmpId=1001

错误消息:消息 8152,级别 16,状态 14,第 1 行 字符串或二进制数据将被截断。 声明已终止。

【问题讨论】:

    标签: sql-server-2008


    【解决方案1】:

    这意味着您要保存在该列中的值将不适合并将被截断。

    除非你增加列的大小,否则没有办法解决这个问题。

    您可以通过运行查看列的大小:

    sp_columns @table_name = 'employee', @column_name = 'StaticIp'
    

    要更改列的大小,您需要运行以下命令:

    ALTER TABLE employee
    ALTER COLUMN StaticIp NVARCHAR(MAX)
    

    【讨论】:

    • 一列中有多个值的更新表的语法是什么@Radu Gheorghiu @Terror.Blade
    • @son 你的语法是对的 你需要更新StaticIp列的长度,发布员工表的结构。
    【解决方案2】:

    当您尝试插入超过数据库列大小的长度数据时会出现此消息 运行以下查询。

    sp_help employee
    

    检查 staticip 列的长度,它必须小于您输入的长度。

    【讨论】:

      【解决方案3】:

      在列中存储逗号分隔值是不好的做法。

      您收到此字符串错误或二进制数据将被截断,因为 StaticIP 列的长度小于您尝试更新的长度。

      解决方法:增加 StaticIP 列的长度。喜欢StaticIP nvarchar(255)

      【讨论】:

      • 但它以 (59.90.187.91),(117.218.1.147) 作为一个值,但我需要检查每个记录的单个 IP 地址
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 2016-06-13
      • 2017-07-17
      • 2021-12-03
      • 1970-01-01
      • 2011-05-31
      相关资源
      最近更新 更多