是否可以将通过条件计算出的值插入到mysql中?

Vmayer

我有一些使用MySQL连接器的C ++代码。我们的数据库是innodb。

代码的目标是找到一行,如果存在,则用新值对其进行更新,如果不存在,则进行插入。

当前,它正在执行一个明确的操作:“ select ... where ...”,然后根据是否找到记录进行插入或更新。

我最近发现了“ INSERT ... ON DUPLICATE KEY UPDATE”:https//dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html,很高兴在这里应用它,以为我们可以以此改善性能。

首先,我是否认为性能可能会提高?

其次,我有一个问题。插入的字段之一是将同一记录的其他两个字段相除的结果。我需要考虑除以0的情况。

我正在尝试做这样的事情:

"INSERT INTO table (time_stamp, in_bytes, out_bytes, pct) VALUES(date + "," + inBytes + "," + outBytes + ", out_bytes/in_bytes)  ON DUPLICATE KEY UPDATE in_bytes = in_bytes + 0, out_bytes = out_bytes + 0, pct = out_bytes/in_bytes;"

不幸的是,如果in_bytes为0,则会出现以下错误:“错误1048(23000):列'pct'不能为空”。

对此可以采取任何措施吗?以某种方式提高了我们原始方法之外的性能?我曾考虑过要有一个用于计算pct字段的触发器,但这似乎可能无法提高性能。

瓦特夫

您可以使用任何所需的表达式。在这种情况下,您可以使用IF(condition,value when true,value when false)

pct = IF(in_bytes != 0, out_bytes/in_bytes, 42)

或者,对于奖励积分,您可以使用COALESCE做同样的事情

pct = COALESCE(out_bytes/in_bytes, 42)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle:是否可以修剪字符串并计算出现次数,然后插入到新表中?

来自分类Dev

通过在PIG中的同一块内计算出的条件值在FOREACH块内进行过滤

来自分类Dev

通过在PIG中的同一块内计算出的条件值在FOREACH块内进行过滤

来自分类Dev

通过插入从其他列计算出的值来更新rails mass更新列

来自分类Dev

是否可以在 django REST 序列化程序中添加计算出的超链接?

来自分类Dev

是否可以根据条件将值插入到列中?SQL服务器

来自分类Dev

VBA“中”功能计算出错误的值

来自分类Dev

在表中查找值并计算出现次数

来自分类Dev

是否可以将值插入通过视图传递的表单中

来自分类Dev

Solr可以从子字段中检索值,并将计算出的值与父结果相关联吗?

来自分类Dev

在SQLAlchemy中打印计算出的距离

来自分类Dev

在行中显示计算出的度量?

来自分类Dev

通过访问observableArray计算出可观察到的淘汰赛

来自分类Dev

是否可以计算出卢森堡的“当前半小时”的开始时间?

来自分类Dev

为什么通过pROC Package的不同功能计算出的95%CI值不同?

来自分类Dev

将数组从C / C ++传递到Fortran并返回计算出的数组

来自分类Dev

以 r 中的多个其他列为条件计算出现次数

来自分类Dev

如何在python 3.3.4中编写可以计算出矩形区域的程序?

来自分类Dev

(SSAS)需要在其他计算中使用计算出的度量的总和,而不论它们是否符合条件

来自分类Dev

如何将随机数组的值添加到另一个数组中,然后在计算出现的值的同时显示它们?C ++

来自分类Dev

将字符串替换为根据数据帧中另一列的最大值计算出的值

来自分类Dev

如何将随机数组的值添加到另一个数组中,然后在计算出现的值的同时显示它们?C ++

来自分类Dev

如何在jQuery中获取CSS高度值(而不是计算出的高度)

来自分类Dev

根据一列中唯一值的数量计算出的新变量

来自分类Dev

java的,当不是数组时,将计算出的值打印到文件中吗?

来自分类Dev

如何计算出现在表中的值的总数

来自分类Dev

在数据框 2 中搜索数据框 1 的值并计算出现次数

来自分类Dev

是否可以通过单个insert()调用将多个文档插入到MongoDB集合中?

来自分类Dev

将计算出的值/差值除以先前值->'slope'

Related 相关文章

  1. 1

    Oracle:是否可以修剪字符串并计算出现次数,然后插入到新表中?

  2. 2

    通过在PIG中的同一块内计算出的条件值在FOREACH块内进行过滤

  3. 3

    通过在PIG中的同一块内计算出的条件值在FOREACH块内进行过滤

  4. 4

    通过插入从其他列计算出的值来更新rails mass更新列

  5. 5

    是否可以在 django REST 序列化程序中添加计算出的超链接?

  6. 6

    是否可以根据条件将值插入到列中?SQL服务器

  7. 7

    VBA“中”功能计算出错误的值

  8. 8

    在表中查找值并计算出现次数

  9. 9

    是否可以将值插入通过视图传递的表单中

  10. 10

    Solr可以从子字段中检索值,并将计算出的值与父结果相关联吗?

  11. 11

    在SQLAlchemy中打印计算出的距离

  12. 12

    在行中显示计算出的度量?

  13. 13

    通过访问observableArray计算出可观察到的淘汰赛

  14. 14

    是否可以计算出卢森堡的“当前半小时”的开始时间?

  15. 15

    为什么通过pROC Package的不同功能计算出的95%CI值不同?

  16. 16

    将数组从C / C ++传递到Fortran并返回计算出的数组

  17. 17

    以 r 中的多个其他列为条件计算出现次数

  18. 18

    如何在python 3.3.4中编写可以计算出矩形区域的程序?

  19. 19

    (SSAS)需要在其他计算中使用计算出的度量的总和,而不论它们是否符合条件

  20. 20

    如何将随机数组的值添加到另一个数组中,然后在计算出现的值的同时显示它们?C ++

  21. 21

    将字符串替换为根据数据帧中另一列的最大值计算出的值

  22. 22

    如何将随机数组的值添加到另一个数组中,然后在计算出现的值的同时显示它们?C ++

  23. 23

    如何在jQuery中获取CSS高度值(而不是计算出的高度)

  24. 24

    根据一列中唯一值的数量计算出的新变量

  25. 25

    java的,当不是数组时,将计算出的值打印到文件中吗?

  26. 26

    如何计算出现在表中的值的总数

  27. 27

    在数据框 2 中搜索数据框 1 的值并计算出现次数

  28. 28

    是否可以通过单个insert()调用将多个文档插入到MongoDB集合中?

  29. 29

    将计算出的值/差值除以先前值->'slope'

热门标签

归档