两个问题:
id
,parent_id
,name
。最初id
是0
,对于作为当前元素的子元素的元素,
parent_id
设置为当前元素的id
....基本上,
无限的嵌套概念。现在我需要找到那些有用的元素
没有任何孩子或子元素。有什么想法吗?id
(auto_increment)的最佳选择是什么?
记录我刚插入? mysql_insert_id或last_insert_id,或
别的什么?我需要同时插入两个记录并使用
来自第一个记录的id(主键)作为第二个的外键
记录。答案 0 :(得分:0)
1)不确定我理解您的架构以及parent_id如何工作......
SELECT
t1.id
FROM
table t1
LEFT OUTER JOIN
table t2
ON
t1.id = t2.parent_id
WHERE
t2.parent_id IS NULL
2)LAST_INSERT_ID()
是返回连接上生成的最后一个自动增量的函数。我不知道PHP中mysql_insert_id
指的是什么?mysql_last_insert_id
?这是一个包含对LAST_INSERT_ID()
的调用的PHP函数。
答案 1 :(得分:0)
SELECT f.is,f.parent_id,f.name FROM table f LEFT JOIN table s ON s.id = f.parent_id WHERE s.parent_id = 0
last_insert_id
答案 2 :(得分:0)
select LAST_INSERT_ID(field) from table limit 1;
你应该在这里找到答案: Most efficient way to get table row count
答案 3 :(得分:-1)
我通过使用:
解决了它SELECT * FROM `nestmenu` WHERE `id` NOT IN (SELECT `parent_id` AS `id` FROM `nestmenu`)
但是,正如您所知,此查询根本没有优化,但它确实完成了工作。任何想法如何优化它?