我使用MonetDB存储和分析电子邮件广告系列数据。我有一张表有大约600万个数据。表有大约30列。
当我选择一些数据时,我意识到数据没有正确插入/更新。
当我解雇"select contactId, email, templateId from statistics.marketing_sent where contactid = '974c47e2'"
时,我希望得到以下结果。
+-----------+---------------------+------------+
| contactid | email | templateid |
+===========+=====================+============+
| 974c47e2 | tom@frerickslaw.com | 34 |
+-----------+---------------------+------------+
但我收到以下结果,发现电子邮件错误。
+-----------+-----------------+------------+
| contactid | email | templateid |
+===========+=================+============+
| 974c47e2 | frank@fsfco.com | 34 |
+-----------+-----------------+------------+
我仔细检查插入和更新数据的nodejs程序。我没有发现任何问题。
之后我做的是,我创建了新的空表并开始在该表上插入/更新。新表有500k~数据,所有商品都正确。但我需要主表中的所有这些数据。
所以,我解雇"insert into statistics.marketing_sent select * from statistics.marketing_sent_2"
。我再次发现数据不正确。
有没有人面对这类问题?
答案 0 :(得分:0)
这很奇怪。你绝对相信" frank@fsfco.com"是与contactid相关的电子邮件" 974c47e2"?您能否请仔细检查已插入MonetDB的原始数据(即未从" statistics.marketing_sent_2"中选择,因为您如何知道此表中的数据是否正确?)
话虽如此,您的问题看起来像处理查询时涉及错误的字符串指针。我在今年早些时候看到,在一些非常特殊的情况下,错误的值被用作OFFSET来指向字符串HEAP中的字符串。这个问题在几个版本之前就得到了解决。
您的数据插入了哪个MonetDB版本?对于最新版本的MonetDB(即Jul2017-SP1),这是一个可重现的问题吗?如果问题仍然存在,您可以提交错误报告(https://www.monetdb.org/bugzilla/)与表架构,示例数据和脚本/查询来重现您的问题吗?感谢
珍