update table_person set name='abc',phone='18888888..',qq='11111111' ;
創(chuàng)新互聯(lián)是一家專業(yè)提供延川企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、網(wǎng)站設計、H5場景定制、小程序制作等業(yè)務。10年已為延川眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
java只做調(diào)用的吧,與mysql語句怎么寫應該木有關系,要修改哪一欄自選擇,
如果是sqlserver數(shù)據(jù)庫,其實對于某列上不存在不讓修改的說法,sqlserver數(shù)據(jù)庫數(shù)據(jù)控制原理是角色控制,也就是說我們對于某一個角色去下定義,讓隸屬于這個角色的用戶不能夠更新數(shù)據(jù)?;蛘咴谀硞€角色的基礎上不分配或是回收對某一列的權限!如果是這種情況,用一個能修改的角度登陸才行。
還有另一種就是所謂的觸發(fā)器,一旦發(fā)現(xiàn)你修改,立即返回原數(shù)據(jù),這樣你也是永遠修改不了的!這時你要找到那個觸發(fā)器,將觸發(fā)器刪除后再進行修改,然后加回觸發(fā)器即可!
但這兩種情況都是對某一列下的定義(我們稱為鎖定粒度為列)不可能是某一個單元格!
如果你是站在erp管理的基礎上不讓你修改那是十分正常的!
在企業(yè)管理器中使用圖形方式(如二樓給的圖)還是語句,則沒有任何的區(qū)別!
我沒有你的表結構和數(shù)據(jù),所以隨便找了張表作為例子,你看懂了改一下sql就可以了:
目的:修改roomPeople=20的倒數(shù)第三條數(shù)據(jù)的roomType字段為999,roomId為主鍵
這是原始數(shù)據(jù):很明顯我們要修改的數(shù)據(jù)roomId為105
修改步驟:
1、找到roomPeople=20的數(shù)據(jù):
2、取最后3條數(shù)據(jù):
3、獲得要修改的目標行的roomId字段
4、根據(jù)查找到的主鍵進行修改操作:
5、修改后數(shù)據(jù)為:
很明顯,目的達到了,roomId為105的數(shù)據(jù)的roomType字段被修改為了999
所有sql如下:
#原始數(shù)據(jù)-按roomId升序排序
select?roomId,roomType,roomPeople?from?room15
#修改roomPeople=20的倒數(shù)第三條數(shù)據(jù)的roomType字段為999
UPDATE?room15?
set?roomType=999
where?roomId=(
select?t1.roomId?
from?(
select?roomId,roomType,roomPeople
from?room15
where?roomPeople=20
ORDER?BY?roomId?desc?
LIMIT?3)?as?t1
ORDER?BY?roomId
LIMIT?1
)
#修改后數(shù)據(jù)-按roomId升序排序
select?roomId,roomType,roomPeople?from?room15
樓主若覺得回答有所幫助,望采納,謝謝!