【问题标题】:When trying to delete data in SQL receive following error. XML parsing: line 1, character 39, unable to switch the encoding尝试在 SQL 中删除数据时收到以下错误。 XML解析:第1行,字符39,无法切换编码
【发布时间】:2023-03-19 13:34:01
【问题描述】:

试图从表中删除某些数据,当我运行以下删除语句时,我收到以下错误。

delete from table
where type  in (2)

错误

消息 9402,第 16 级,状态 1,第 1 行

XML解析:第1行,字符39,无法切换编码

【问题讨论】:

  • table 有触发器吗?
  • 是的,该表有两个触发器。一个是更新,一个是删除触发器。另外我应该提到这是一个视图表。
  • 问题出在其中一个触发器上。通常此错误表明您正在尝试使用 unicode xml 更新非 unicode 列 - 您的 xml 是否具有 utf-16 编码?
  • 如果您确定要执行的操作,您可以禁用触发器并删除数据。

标签: sql sql-server xml


【解决方案1】:

如果你使用像 table 这样的名称,并且 type 作为表名和列名,你应该把它们写在括号中,比如:

delete from [table] where [type] in (2)

【讨论】:

  • 表名不是表,我只是没有把表名放在那里。感谢您的意见,但这并没有解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
相关资源
最近更新 更多