0

我想将 ',' 字符更改为 '.' 在我的专栏之一。我可以制作替换语法,但它只是一个视图。我想为所有记录更新它!

select cast(replace(egysegar,',','.')as decimal (10,3)) from temporary

我会尝试下一个来更新

UPDATE temporary set egysegar = replace(egysegar,',','.') where egysegar is not null

但在我得到一个错误之后:

您正在使用安全更新模式,并且您尝试更新没有使用 KEY 列的 WHERE 的表 要禁用安全模式,请切换 Preferences -> SQL Queries 中的选项并重新连接。

4

2 回答 2

1

很可能您正在使用 MySQL Workbench,并且您实际上必须禁用安全模式或在WHERE子句中添加一个键列,正如它在消息中所说的那样。

或者您可以SET SQL_SAFE_UPDATES=0;在更新查询之前运行。

于 2013-10-24T06:50:56.407 回答
0

可能的答案是 MySql 使用安全更新选项运行。这意味着您不能在 where 子句中没有 key 主键的情况下更新或删除记录。

SET SQL_SAFE_UPDATES=0;

或在 where 子句中使用主键

于 2013-10-24T06:52:08.237 回答