後有條件插入我有一箇舊的數據庫重構和麪臨此表:MySQL的 - 選擇查詢
會員
id | Name | Role
1 | Tyler | 6
2 | Jane | 16
3 | Jack | 20
角色
id | role | Level
1 | Visitor | 1
2 | Member | 2
3 | Monthly Member | 4
首先,我很困惑,因爲角色在成員表中與角色表中的任何數據都不匹配。在分析源代碼之後,我瞭解到這位程序員已經想出了他自己的方式...
所選角色= 2 ^(角色的級別)。
即)傑克是一個會員&每月會員
傑克的角色= 2 ^(構件電平)+ 2 ^(每月構件電平)= 2^2 + 2^4 = 20。
嗯,這是我想要做的。我將創建三個代表多對多關係的表格。
會員
id | Name
1 | Tyler
2 | Jane
3 | Jack
角色
id | role
1 | Visitor
2 | Member
3 | Monthly Member
Member_Role
member_id | role_id
1 | 1
1 | 2
3 | 2
現在,我要選擇所有成員,並插入相應的member_id & rold_id到Member_Role表,但不知道如何編碼這個查詢。我總的想法是這樣的......
//Select all members from member table
//if role is 16
// insert his member id and monthly memberid to member_role table
//if role is 20
// insert his member id and member(role) id to member_role table
// insert his member id and monthly member id to member_role table
// and so on....
重要的是我想這取決於它的條件手動插入值。這是因爲我將重新排列角色的順序,並且這個「所選角色= 2 ^(角色的級別)」公式將不再起作用。因此,我更喜歡硬編碼而不是通用編碼。這是一次性使用代碼無論如何...
謝謝!
現實地說,在這之前有多少**實際**排列的舊數據是嚴重過度設計的,9? – Drew
爲什麼2^2 + 4^2而不是2 + 4?我想我們永遠不會知道。 – Strawberry
@DrewPierce我找到了10種不同的組合。幸運的是,不足以手動編碼它;) – Raccoon