台灣最大程式設計社群網站
線上人數
335
 
會員總數:240359
討論主題:186352
歡迎您免費加入會員
討論區列表 >> MySQL >> mysql 將「整個」資料表,NULL改0,有值得改1
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
mysql 將「整個」資料表,NULL改0,有值得改1
價值 : 100 QP  點閱數:365 回應數:5

樓主

candy0902
門外漢
0 1
28 1
發送站內信

不好意思請問一下 因為剛接觸sql還不是很了解
目前我在做一個食譜資料表
菜名就是欄位名
所以上方資料有幾百筆
像是這樣
ID 分類 名稱 步驟 生菜 番茄 鹽 萵苣 ...................................(好幾百種)
1 沙拉 雞肉沙拉 .... 10g 2顆 2撮 100g ........................................
2 沙拉 凱薩沙拉 .... NULL 2顆 NULL NULL ........................................
3 日式 壽司手卷 .... 50g NULL NULL 100g ........................................
4 中式 客家小炒 .... NULL NULL 1撮 NULL ........................................
5 點心 巧克力塔 .... NULL 1顆 NULL NULL ........................................
6 咖哩 咖哩雞 .... NULL NULL 3撮 100g ........................................

我想變成這樣 ("食材"有值得變1 沒有值得變0)

ID 分類 名稱 步驟 生菜 番茄 鹽 萵苣 ...................................(好幾百種)
1 沙拉 雞肉沙拉 .... 1 1 1 1 ........................................
2 沙拉 凱薩沙拉 .... 0 1 0 0 ........................................
3 日式 壽司手卷 .... 1 0 0 1 ........................................
4 中式 客家小炒 .... 0 0 1 0 ........................................
5 點心 巧克力塔 .... 0 1 0 0 ........................................
6 咖哩 咖哩雞 .... 0 0 1 0 ........................................

上網查case IFNULL 都是要限定欄位,因為我們的欄位實在太多了沒辦法一個一個去弄 (迴圈不太會寫.....)
或是修改Default也沒辦法成功
想請問大家知不知道用什麼方法比較好,謝謝。

搜尋相關Tags的文章: [ NULL ] , [ 空值 ] , [ IFNULL ] ,
本篇文章發表於2017-06-24 15:40
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

小魚
檢舉此回應
建議欄位不要用中文,
雖然說現在utf-8中文應該不會出錯,
不過還是建議用英文。
語法如下


本篇文章回覆於2017-06-24 17:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小魚
檢舉此回應
那是會直接改資料庫,如果不要改資料庫,還是要一個欄位一個欄位撈



不過還是建議不要用中文名
本篇文章回覆於2017-06-24 17:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

candy0902
檢舉此回應
謝謝 我知道了 !
本篇文章回覆於2017-06-25 15:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小魚
檢舉此回應
我後來有想到一個方法,
你可以先撈出全部的欄位名稱



COLUMN_NAME是名稱
COLUMN_COMMENT是註解(應該用不到吧)

然後用迴圈的方式,
篩選掉不要的欄位,
將上面的SQL語法串成一個字串,
就不用所有的欄位都輸入了。
本篇文章回覆於2017-06-25 20:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
比較快的方式~~~~

先建立一個一樣的空資料表。將其不要null的欄位先給與預設值。
然後再將資料導出到新的表上就行了。

這招比較簡單
本篇文章回覆於2017-07-05 15:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.