【发布时间】:2010-06-30 16:00:17
【问题描述】:
我有三张桌子
菜单
+--id---ident---+
|--1----menu_1--|
menus_data
+--id---id_parent---name---------id_lang--+
|--1----1-----------menu_eng------1-------|
|--2----1-----------menu_rus------2-------|
+--3----1-----------menu_arm------3-------+
语言
+--id---name--------+
|--1----english-----|
|--2----russian-----|
|--3----armenian----|
第二个表存储有关菜单的数据(所有语言的名称),即。第二个表的 id_parent 是第一个表的 id。
假设我添加了一种 id=4 的新语言。现在我需要为所有菜单提供默认值(必须等于id_lang = 1 值),所以我需要在menus_data 表中添加行
|--4----1-----------menu_eng------4-------|
我必须使用menus 表中的所有菜单。
我可以通过树查询来做到这一点 -
- 从
menus表中查找所有菜单的列表 - 找到每个元素的默认值
- 在
menus_content表中添加具有该值的行
但也许可以在一个查询中完成?
谢谢
【问题讨论】:
-
为什么需要id和id_lang?它们是否总是相同的值?
-
Menus_Content 表在哪里?
-
id_lang是另一个languages表中的 id,我存储所有语言的列表。 -
您能否详细说明您要完成的工作?总体而言,可能有更好的方法可以满足您的需求。同样,语言是您存储语言的位置,但为什么
menus_data表中存在“menu_eng”或“menu_rus”? -
@Syom:您是否有可能是
menus记录,而在menus_data表中没有 有支持记录?如果答案是“否”,则没有理由执行您列为第 1 步的操作...
标签: php mysql phpmyadmin