2014-07-17 66 views
0

我在這裏有一個MySQL的問題。我想要做的是創建一個按鈕('添加到願望清單'),當按下時,執行一個MYSQL更新查詢,輸入一個數字,比如6,到多個字段中,但是我試圖得到的是這樣它只進入一個非空的字段。所以實質上,更新查詢會查看字段1(saved_courses)是否爲空,如果是則插入值,但如果不是,則插入第二個字段(saved_courses2)。MYSQL - 如果第一個字段不爲空,那麼更新第二個字段,如果第二個字段不爲空,那麼等

我看着這個和我的研究的結果,我有這樣的:

mysqli_query($con, "UPDATE user_accounts SET saved_courses3 = case when saved_courses3 is null then saved_courses3 = $urlid else saved_courses4 = $urlid end WHERE id = 1; ") or die(mysql_error()); 
+1

我推薦,來規範你的數據庫的結構。使用至少兩個字段'user_id','course_id'創建一個名爲'saved_couses'的表。它將更加可維護。 (如何從當前結構中刪除第四次保存的課程?當6個插槽不夠用時會發生什麼情況?) – Pred

+0

謝謝,我沒有想到! – user2379090

+0

@Pred關於表格結構,由於用戶要將多個課程ID保存到他/她的帳戶,我將如何創建一個允許用戶做這種事情的表格?我打算製作多個字段:saved_course1,saved_course2等 – user2379090

回答

1

嘗試是這樣的:

UPDATE user_accounts SET 
saved_courses4 = case when saved_courses3 is null then saved_courses4 else $urlid end, 
saved_courses3 = case when saved_courses3 is null then $urlid else saved_courses3 end 
WHERE id = 1 

你可以看到它在行動:

http://sqlfiddle.com/#!2/c5553/1

相關問題