重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
update table_person set name='abc',phone='18888888..',qq='11111111' ;
创新互联是一家专业提供延川企业网站建设,专注与成都网站建设、网站设计、H5场景定制、小程序制作等业务。10年已为延川众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
java只做调用的吧,与mysql语句怎么写应该木有关系,要修改哪一栏自选择,
如果是sqlserver数据库,其实对于某列上不存在不让修改的说法,sqlserver数据库数据控制原理是角色控制,也就是说我们对于某一个角色去下定义,让隶属于这个角色的用户不能够更新数据。或者在某个角色的基础上不分配或是回收对某一列的权限!如果是这种情况,用一个能修改的角度登陆才行。
还有另一种就是所谓的触发器,一旦发现你修改,立即返回原数据,这样你也是永远修改不了的!这时你要找到那个触发器,将触发器删除后再进行修改,然后加回触发器即可!
但这两种情况都是对某一列下的定义(我们称为锁定粒度为列)不可能是某一个单元格!
如果你是站在erp管理的基础上不让你修改那是十分正常的!
在企业管理器中使用图形方式(如二楼给的图)还是语句,则没有任何的区别!
我没有你的表结构和数据,所以随便找了张表作为例子,你看懂了改一下sql就可以了:
目的:修改roomPeople=20的倒数第三条数据的roomType字段为999,roomId为主键
这是原始数据:很明显我们要修改的数据roomId为105
修改步骤:
1、找到roomPeople=20的数据:
2、取最后3条数据:
3、获得要修改的目标行的roomId字段
4、根据查找到的主键进行修改操作:
5、修改后数据为:
很明显,目的达到了,roomId为105的数据的roomType字段被修改为了999
所有sql如下:
#原始数据-按roomId升序排序
select roomId,roomType,roomPeople from room15
#修改roomPeople=20的倒数第三条数据的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
)
#修改后数据-按roomId升序排序
select roomId,roomType,roomPeople from room15
楼主若觉得回答有所帮助,望采纳,谢谢!