0

私はレジストリテーブルを持っています( id , counter , group_name , type )

これらのテーブルを含むグループテーブル

software_group  
website_group
news_group 
 etc ..

すべてのグループは、独自のグループ テーブルだけでなく、レジストリ テーブルにもあります

レジストリの行を更新する場合は、適切なグループ テーブルも更新する必要があります

type列はグループテーブルを示しているので、次のようなものがあります:

UPDATE registry JOIN 

CASE WHEN registry.type = 1 THEN software_group 
CASE WHEN registry.type = 2 THEN website_group
CASE WHEN registry.type = 3 THEN news_group 

AS other_table 

ON registry.id = other_table.reg_id
  SET registry.name = $newname
  ,
  other_table.name = $newname

WHERE registry.id = $id

このようなことは可能ですか?レジストリ行を選択して php で作業を行うことができますが、選択/更新よりも結合/更新の方が速いと思いました

4

1 に答える 1

0

DBレイヤーではなく、アプリケーションレイヤーで条件を処理する場合、実行時のテーブルへの動的結合が最適だと思います

于 2012-07-15T16:58:06.823 に答える