Working with NULL Values on MySQL

今天在操作 MySQL 的時候剛好遇到新增的欄位資料都是 NULL 造成程式會因此有些問題,所以就想把已存在的 row 該欄位是 NULL 的都填上資料。

本來的 schema 是長這樣:

id name skill
1 abc 1
2 def 1
3 ghy 4

後來新增加一欄 level

id name skill level
1 abc 1 NULL
2 def 1 NULL
3 ghy 4 NULL

所以就想說直接先都把 level 設為 1,所以直接下了下面這個指令

UPDATE `role` SET level = 1 WHERE level = NULL;

結果什麼都沒更新到...,後來 google 了一番,原來 NULL 是特別的存在,官方表示 NULL means “a missing unknown value”,如果要對 NULL 做判斷要用 IS NULL or IS NOT NULL;所以正確的語法應該要用這樣:

UPDATE `role` SET level = 1 WHERE level IS NULL;

最後終於搞定啦!

參考:

Read more

GitHub SDD Tools: spec-kit

GitHub SDD Tools: spec-kit

最近很夯 SDD,然後 GitHub 也出了工具 spec-kit 來幫助開發者撰寫 SDD 文件。 這個工具可以讓你直接用自然語言來描述你的需求,然後自動生成 SDD 文件。 spec-kit 支援來幾乎現在市面上所有的 AI Coding 工具,而且一直持續在更新。 以下是目前(0.0.79)版本可用的指令以及指令的用處: * 核心指令: 指令 用途 /speckit.constitution 建立或更新專案管理原則和開發指南 /speckit.specify 建立需求和使用者故事 /speckit.plan 建立實施計劃 /speckit.tasks 生成 Task /speckit.implement 執行 Task * 選擇性指令: 指令 用途 /speckit.clarify 釐清不明確的規格,

By Mars