![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 candy0902 ![]()
![]() |
目前我在做一個食譜資料表 菜名就是欄位名 所以上方資料有幾百筆 像是這樣 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也沒辦法成功 想請問大家知不知道用什麼方法比較好,謝謝。 |
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樓 |
比較快的方式~~~~
先建立一個一樣的空資料表。將其不要null的欄位先給與預設值。 然後再將資料導出到新的表上就行了。 這招比較簡單
本篇文章回覆於2017-07-05 15:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |