MySQL树结构数据库-复制节点的最佳方式?
我有一个数据库,有3列:node\u id、node\u parent、title。现在,我正在尝试找出复制节点并保留父id的最佳方法 我的意思是:MySQL树结构数据库-复制节点的最佳方式?,mysql,tree,Mysql,Tree,我有一个数据库,有3列:node\u id、node\u parent、title。现在,我正在尝试找出复制节点并保留父id的最佳方法 我的意思是: 我正在考虑用PHP递归地运行它,并遍历每个节点和子节点,但在我看来,它根本没有经过优化。仅使用MySQL查询就可以做到这一点吗?如果您想添加一个新行,使用一个查询将节点的父项和标题保留在现有行中,那么应该可以: INSERT INTO <table> SELECT NULL, node_parent, title FROM <ta
我正在考虑用PHP递归地运行它,并遍历每个节点和子节点,但在我看来,它根本没有经过优化。仅使用MySQL查询就可以做到这一点吗?如果您想添加一个新行,使用一个查询将节点的父项和标题保留在现有行中,那么应该可以:
INSERT INTO <table> SELECT NULL, node_parent, title FROM <table> WHERE id = 1;
请注意,节点id列应设置为自动增量。需要复制多少级别?如果只有一个,则可以执行以下操作:
INSERT INTO table1 SELECT NULL,node_parent, title FROM table1 WHERE id=2;
INSERT INTO table1 SELECT null,LAST_INSERT_ID(),title FROM table1 where node_parent=2;
正如前面的海报所提到的,节点id应该是自动递增的。我应该写“复制”而不是“复制”。我只想为要复制的节点保留节点\父节点。该节点下的每个其他子节点都应具有刚刚复制的节点的父节点id。我想知道我是否只能用mysql来实现这一点。