MySQL加欄位後ROLLBACK沒撤回:DDL隱式提交的邊界
測試腳本先START TRANSACTION,再插入一筆資料、加一個欄位,最後ROLLBACK。你以為全部會撤回,結果資料與欄位都還在。先查中間有沒有造成隱式提...
MySQL查整天少了晚間資料:DATETIME用半開區間
網站報表選了某一天,結果只出現零點資料;把結束時間改到23:59:59,又少了最後一秒裡的小數時間。查詢先別怪資料沒寫入:DATETIME欄位包含時間,而日期輸...
MySQL UNIQUE仍能插入多筆NULL:缺值與重複值怎麼分
優惠碼欄位加了UNIQUE,資料表卻還能存入兩筆NULL。這不是索引沒生效:在MySQL裡,可空欄位的唯一索引允許多個NULL。先確認你想防止的是「重複已填寫的...
MySQL GROUP BY選名字報錯:別讓非分組欄位隨機取值
分類列表想同時顯示每類筆數與最新一筆名稱,SQL卻回傳1055錯誤。別先關掉ONLY_FULL_GROUP_BY。這個錯誤通常是在問你:同一組裡有多個名稱,結果...
MySQL翻頁同分資料順序變了:ORDER BY要加唯一鍵
網站列表依分數排序,翻到下一頁卻看到重複項目。先確認查詢有沒有把「同分時誰先顯示」寫清楚。ORDER BY score DESC只決定分數不同的先後;四筆資料都...
MySQL NOT IN突然查不到資料:NULL與NOT EXISTS的差別
名單排除查詢本來正常,封鎖表多了一筆資料後,結果突然一列都沒有。你可能寫了WHERE id NOT IN子查詢,預期把封鎖的編號移除;真正改變結果的,卻是子查詢...
