我有三张桌子
+--id---ident---+
|--1----menu_1--|
+--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
table menus_content
表中添加具有该值的行但也许可以在一个查询中完成?
由于
答案 0 :(得分:1)
我认为这是可能的。它会是这样的:
insert into `menus_data` select null, `id_parent`, `name`, 4 from `menus_data` where `id_lang` = 1;
我没有检查过,所以语法可能有些偏差。该查询还假设在menus_data中为每个菜单都有id_lang = 1的记录。
此处有关此类查询的更多信息:http://dev.mysql.com/doc/refman/5.1/en/insert-select.html