2013-08-31 36 views

回答

1

因为那个应用程序错误,我不得不重新创建许多bds。 我删除了整个bd并手动重新创建,因为我不信任可能仍然损坏的条目。 如果它不是很大,可以将它转储到电子表格上并手动删除它们,然后重新创建bd。 它不只是dups,你可能也有类似的对象,因为它们被重新创建,后来只有一个被更新。

+0

那么我有成千上万的条目。所以重新创建数据库并不是一个真正的选择...... –

+1

不要对任何大型或任何关键的东西使用scriptdb。它不是第一次在scriptdb中引起不可逆转的腐败。 –

+0

我相信Google正在努力改进ScriptDB服务。我认为这是一项很有潜力的优秀服务。 –

1

如果您为数据库中的条目分配了自己的唯一ID,那么您可以遍历所有可能的ID,查找具有多个条目的ID。我不会写全的代码,但是这是一个大致轮廓:

1. Generate an array of all possible IDs 
2. For each ID in array, query ScriptDB for items with that ID 
3. If results.length > 1, remove the extras 
4. Goto 2 
5. Finish 

当然,这将需要更长的时间超过6分钟内,成千上万的记录100S,所以你需要一些代码来保存/负载状态。我使用ScriptProperties来保存我在数组中的位置。然后我有一个函数来确定我是否已达到5.5分钟,此时我会停止以避免“超出最大执行时间”错误。

如果您还没有使用唯一的ID,那么为了防止将来出现这种情况,您可能需要更多的逻辑来添加到数据库保存功能中。

+0

是的,我们确实有每个记录的字母数字唯一ID。你能否提供一些代码来实现你的建议?谢谢。 –