如何使用replace来更新列项

时间:2013-10-24 06:47:42

标签: mysql select replace sql-update

我想将','char更改为'。'在我的一个专栏。我可以使用替换语法,但它只是一个视图。我想为所有记录更新它!

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

我会尝试下一个更新

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

但是在我收到错误之后:

  

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

可能的答案是MySql运行安全更新选项。这意味着如果没有关键字主键,则无法更新或删除记录。

SET SQL_SAFE_UPDATES=0;

或在where子句

中使用主键