我在表格中的数据包含一些空格,所以我使用此命令修剪它
update results set Field1 = trim(Field1);
我正在为所有字段手动执行此操作。
任何人都可以为我提供一个通用的SQL来自动修剪表格中的文件总数吗?
谢谢,
答案 0 :(得分:1)
这是不可能的。你必须更新每一列。但是你可以节省一些时间:
update results
set field1 = trim(field1)
, field2 = trim(field2)
或者,您可以查询INFORMATION_SCHEMA.COLUMNS表以查找所有VARCHAR列,并使用它来构建其他语言(如PHP或Perl)的查询。
答案 1 :(得分:1)
你不能在一个声明中自动完成,但你能做的是:
SHOW COLUMNS FROM myTable WHERE `Type` LIKE '%char%';
这将为您提供所有CHAR和VARCHAR字段的列表。循环遍历这些结果,构建一个SQL语句:
$temp = array();
while ($row = mysql_fetch_assoc($result)) {
$temp[] = sprintf('`%1$s` = TRIM(`%1$s`)', $row['Field']);
}
$sql = "UPDATE myTable SET " . implode(", ", $temp);
mysql_query($sql);