【发布时间】:2014-03-22 19:57:36
【问题描述】:
我有一个快速要求,我需要更新我的数据库中损坏的数据。 我有几个文本列,其中文本包含  ,虽然我们已经在代码中解决了问题,但我仍然需要更正 db 中损坏的数据。
我觉得我可以的
UPDATE table_name
SET column_name=(
SELECT REPLACE(colum_name, ' ', '')
FROM table_name
WHERE id=1234)
WHERE id=1234
但我必须为每一行单独执行此操作。是否有更简单的查询来检查特定列中的所有行并删除   标记?
感谢您的帮助。
【问题讨论】:
-
这个选择会返回多行并且更新会失败。
-
即使有相关的子查询?
UPDATE table_name t1 SET t1.column_name=( SELECT REPLACE(t1.column_name, ' ', '') FROM table_name t1) -
DB2 错误 811 UPDATE 语句的 SET 子句中的嵌入式 SELECT 语句或子选择的结果是一个多行的表,或者基本谓词的子查询的结果更多不止一个值