从mysql改变节点ID ..有可能吗?

时间:2010-07-31 14:40:57

标签: drupal drupal-6

我可以在mysql表中更改节点ID(nid)以更新Drupal中节点的ID吗?

换句话说,如果我在'node'表中更改nid(注意保持每个节点的唯一性),直接来自phpmyadmin,我是否会介绍bug?

感谢

3 个答案:

答案 0 :(得分:1)

节点ID在很多地方使用,所以你必须非常小心这样做。它可能会导致事情破裂,比如错过了存储在别处的节点的内容。

如果节点是刚刚导入的,那么事情就会变得不那么棘手,但是很难确保你把所有东西都搞定了。问题是你可能只有在为时已晚时才发现问题。

我相信迁移会在导入节点时创建某种连接表,是否可以用于将节点ID与旧ID相匹配?

答案 1 :(得分:0)

我认为可以工作。

您需要记住,nid不仅可以被其他表引用,还可以在某些序列化数据中定义。如果您搜索整个数据库并确保更改nid的每个可能的发生,那么它应该是可行的。

答案 2 :(得分:0)

考虑到节点ID可以保存在由第三方模块创建的数据库表中,我认为不可能确保不会产生问题。 如果手动运行SQL查询,则需要确保检查每个表,包括缓存表,这些表可能包含对节点到序列化PHP对象或数组的引用。