<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • insert into語法錯誤有什么原因(sql數據庫insert用法)


    場景:數據庫存在角色表、菜單表、角色菜單關系表,現需新增菜單,并維護角色菜單關系,因原來角色已有的菜單很多,如果通過功能操作,很費時間,想從數據庫中直接維護菜單、角色菜單關系表,采取的方案如下:

    表:

    system_role

    system_menu

    system_role_menu

    操作步驟:

    • 菜單表中新加菜單

    insert into system_menu(column1,column2,…..,columnN) values(value1,value2,……valueN)

    • 建立角色表和新增菜單的關系

    關鍵的來了:system_role、system_menu沒有現成的外鍵關聯,怎么辦,沒有辦法了嗎?不,當然有辦法,咱們給新建個關聯外鍵即可,如下

    select r.id, 1 as foreign_key from system_role;

    select m.id, 1 as foreign_key from system_menu;

    建立兩個表的關系:

    select rr.id as role_id ,mm.id as menu_id

    from (select r.id, 1 as foreign_key from system_role) rr

    left join (select m.id, 1 as foreign_key from system_menu) mm

    on mm.foreigh_key=rr.foreign_key;

    • 將新建立的關系插入到角色菜單表中

    最關鍵的來了:

    insert into system_role_menu(role_id,menu_id)

    select rr.id as role_id ,mm.id as menu_id

    from (select r.id, 1 as foreign_key from system_role) rr

    left join (select m.id, 1 as foreign_key from system_menu) mm

    on mm.foreigh_key=rr.foreign_key;

    如此即可完成。

    如果我的文章可以幫到你,有錢的捧個錢場,沒錢的捧個人場,這也是支撐我繼續做下去的動力!

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费