遇到一件詭異的事情,修改資料從0到1的時候沒有問題,但是從1到0的時候提示成功了,但是總是沒有效果。
分析如下: a.從0到1到2沒有問題,說明**邏輯沒有什麼問題
b.從2到1沒有問題,證明上述觀點沒有問題
c.從1到0沒有效果
並且debug到在儲存資料之前,資料也是沒有問題的
得出結論,最有可能出現問題的地方就是sql語句**有問題
修改類的型別為integer
原有sql如下
update merchant
day = #,
where no=#
修改後
update merchant
day = #,
where no=#
問題雖然解決了,但是還沒確定是什麼問題造成的
忽然看到還有這樣乙個問題沒解決,今天有時間測試了一下發現問題依然。
1.檢查**無問題
2.檢查xml 忽然發現integer 型別引數 != 『』應該是解析不通過,可能是這裡mybatis做了處理,具體需要通過原始碼來解釋了
3.測試varcha型別,發現沒有該問題發生。應該是由於mybatis做了處理。
mybatis原始碼待檢視解析sql部分,後續補充
修多種資料庫修改功能比較(不斷更新)
資料庫修改功能主要分為增加列 刪除列 設定列值 改變列屬性等 mysql alter table 表名 add column 列名 varchar 30 oracle oracle資料庫中給表增加一列並設定預設值 alter table 表名 add 列名 型別 default 值 not null...
資料庫的資料的不可讀,髒讀,幻讀和丟失更新
1.出現的原因 之所以出現更新丟失,髒讀,和不可重複讀,幻讀,是因為當兩個事務同時進行的時候,兩者之間互相不知道對方的存在,對自身所處的環境過分樂觀,從而沒有對操作的資料做一定的保護處理,最終導致一些問題的出現。丟失更新問題 上圖中,由於事務a與事務b互相不知道對方的存在,因此導致了悲劇的發生。如果...
SQL sql從0到1 第 5 章 資料更新
1 插入方式一 基本語法 insert into 表名 列名 values 值1,注意 插入的值的型別要與對應欄位的型別一致或相容 不能為null的列必須插入值,可以為null的列插入值有兩種方式 列名和值都省略 寫出列名,值用null 列的順序可以調換,但值與列名要嚴格對應 列數和值的個數必須一致...