mysql如何更新使用条件的另一列的值的列?

标签: sql MySQL
发布时间: 2015/6/11 18:57:35
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个表与以下方案。

meta_id    meta_key    meta_value
1            key1         5
2            key2       sometext
3            key3       serialized_text
4            key4         8

现在我有四列作为添加到我的桌子了"数值表示形式"的 meta_value 列出于性能的原因。但我有更新的预先存在的数据。这是我需要如何。

meta_id    meta_key    meta_value           num_value
1            key1         5                     5
2            key2       sometext               NULL
3            key3       serialized_text        NULL
4            key4         8                     8

总而言之我需要一个查询来更新第四列,只是如果 meta_value 是一个数字。我知道如何应更新基于另一列的列。条件是我感兴趣的部分。
谢谢你

解决方法 1:

尝试

UPDATE Table1
   SET num_value = meta_value * 1 -- or just meta_value
 WHERE meta_value REGEXP '^[-]?[0-9]+$'

这里是SQLFiddle演示

官方微信
官方QQ群
31647020