单纯的update肯定不行,update只是DML语言,你要增加新属性是需要改变表结构的,是需要DDL语言,所有步骤是:
"热情、务实、专业、创新”我们不忘初心,砥砺前行,实在做人,认真做事,始终如一的专注企业互联网品牌建设与网络营销推广服务。成都品牌网站建设本着让客户满意的目标,帮助企业通过互联网创造价值.创新互联全体员工将通过不懈努力,力争成为客户在信息化领域中值得长期信赖的合作伙伴。
1、更改表结构,增加一个字段放置新增的属性
alter table 表名 add 字段名 字段类型;
2、插入新记录
insert into 表名(字段名,多个用逗号分隔) values (记录的值,几个字段对应几个值);
commit;
select * from list_A left join (select * from(select item_id as id,count(item_id),addcount from vote_log group by item_id) temp ) list_B on list_A.id = list_B.id where 1=1;
如果是sqlserver数据库,其实对于某列上不存在不让修改的说法,sqlserver数据库数据控制原理是角色控制,也就是说我们对于某一个角色去下定义,让隶属于这个角色的用户不能够更新数据。或者在某个角色的基础上不分配或是回收对某一列的权限!如果是这种情况,用一个能修改的角度登陆才行。
还有另一种就是所谓的触发器,一旦发现你修改,立即返回原数据,这样你也是永远修改不了的!这时你要找到那个触发器,将触发器删除后再进行修改,然后加回触发器即可!
但这两种情况都是对某一列下的定义(我们称为锁定粒度为列)不可能是某一个单元格!
如果你是站在erp管理的基础上不让你修改那是十分正常的!
在企业管理器中使用图形方式(如二楼给的图)还是语句,则没有任何的区别!
类似
CREATE TABLE BOOKINFO (
ID bigint(20) NOT NULL AUTO_INCREMENT,
BOOKNAME VARCHAR(45),
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8
存储引擎和默认字符集选择你需要的就好,AUTO_INCREMENT=10001表示的就是从10001开始自增
插入时使用类似:
insert into bookinfo values (null,'BOOK1');
就可以实现自增。
需要注意的是,设为自增的列(这里是ID)一定入索引(不一定需要主键索引,任何索引都行,但是没有比把自增列当主键更合适的了吧)。
可以使用navicat工具,设置属性很方便,自动编号就选择"自动递增",文本类型有varchar、text等, 时间类型有datetime等
alter table 表名称 modify 字段 string
例如
use aynu;
alter table xsb modify 姓名 char(10)