這篇博文,記錄一下本人在UPDATE操作中悲慘經歷
還原一下事故現場
update table_name set a=4 and b = 0
乍一看,這個update操作是ok,仔細一看卻有不妥,作者本意是要更新兩個欄位 a
和b
,但是自己鬼使神差的在這之前加了一個and
連線符(正常我們更新多欄位都要加,
連線符),sql正常執行,mysql 會將 4 and b=0
當做條件處理,mysql 會根據更新欄位a
的型別來賦值,如果是int型別,a
會被賦值為0。
總結
1.更新sql,需要謹慎處理
2.更新操作,必須要核實資料,是否是預期的結果
本作品採用《CC 協議》,轉載必須註明作者和本文連結