新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以没有主键。
成都创新互联专注于企业全网整合营销推广、网站重做改版、定远网站定制设计、自适应品牌网站建设、H5网站设计、商城系统网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为定远等各大城市提供网站开发制作服务。
不过,无论从程序方面还是数据库优化管理的方面,没有主键的表都是一个失败的表。
从数据库设计上说,绝大多数情况下,一个表都应该有主键。如果没有主键,很可能你的数据建模是有问题的。
可以删除。但不建议删除。设置为主键一定是有原因的,先了解清楚列被设置为主键的原因再说。
1、首先应该删除已有的主键约束\x0d\x0a ①若已知道该主键命名\x0d\x0a\x0d\x0a alter table 表名 drop constraint 主键名;\x0d\x0a\x0d\x0a ②若不知道朱建命名\x0d\x0a\x0d\x0a SELECT * from user_cons_columns c where c.table_name = '表名';\x0d\x0a\x0d\x0a 找到主键字段column对应的主键名,再执行①\x0d\x0a\x0d\x0a2、增加新的主键约束\x0d\x0a alter table 表名 add constraint 主键名 primary key(字段名);
你建立主键的语句我看了下,你没有定义名字啊,oracle自动分配的名字似乎是sys_XXXX吧,好像不是这个pkXXXX。所以你要删除的那个约束不存在啊。不存在的约束怎么删除?
ALTER TABLE TABLE_NAME
DROP CONSTRAINT 主键名
如果不知道名字,你插入重复主键值,看错误提示有没有。
oralce当然有主健啦,只是删除主键的语法oralce不支持的,建议重新建表,重新倒入数据就是了
alert table t1 drop primary key (col1);