1樓:
補充2:我找到了約束名,已經刪除,但在新增的時候又出問題了,意思說不能在可以為空的字段上建立primary key約束,那麼應該怎樣改?????????
你修改的為主鍵的列 以前在建表的時候預設是可以null的,你把default null
或者把錶結構上的對應列的null的勾去掉就可以加主鍵了不能在可以為空的字段上建立primary key約束的。。
2樓:匿名使用者
你檢查一下!
語法是沒錯的,只不過你的主鍵約束名不是那個!你仔細檢查一下!這個也沒什麼好複雜的,就是約束名不對才這樣。
關於你的問題補充2:
你先要有清楚的概念,什麼叫主鍵??!!主鍵當然不能為空了!所以你只要把該字段改為「是否可為空」為「否」即可
3樓:評美
如果表之前有主鍵則先刪除:
alter table 表名 drop constraint 主鍵名修改主鍵:
alter table 表名 add constraint 主鍵名 primary key (column1,column2,....,column)
注意:這裡的主鍵名是自己定義的乙個字串,可以不是表中欄位名(習慣寫成:pk_表名 的格式),不過要牢記啊,刪除的時候用到的也是這個名!括號中的才是表中存在的字段。
主鍵的值也可以改變,級聯更新是有用的
4樓:
主鍵名和列名不一樣,需要select constraint_name from user_cosntraints where table_name='tabname';
再用drop constraint 後面跟上查好的主鍵名刪除約束。
sql server怎樣用sql語句修改乙個表中主鍵字段(它同時又是另乙個表的外來鍵及主鍵)的字段型別?
5樓:du瓶邪
要修改主鍵和外來鍵的話需要先指定主鍵和外來鍵的名稱,以後修改時要用到。
這是的主鍵和外來鍵為:
修改的sql語句:
--修改主鍵的名稱pk_mytest為pk_mytest22
alter table mytest drop constraint pk_mytest
alter table mytest add constraint pk_mytest22 primary key(aa)
--修改外來鍵的名稱fk_mytest為fk_mytest22
alter table mytest drop constraint fk_mytest
alter table mytest add constraint fk_mytest22 foreign key(bb) references test!
6樓:
先刪除它們的外來鍵關係,再分別修改2個表的字段型別,再建立外來鍵關係
請幫忙修改access中一句SQL語句
第二個select 和where後面少了空格,正確的如下 select 紙型產品,sum 進紙數量 as 進紙數量總計,0 as 期初數量總計,0 as 損耗數量總計 from 進紙資料 where 事物修改日期 forms 日庫存查詢窗體 日期 group by 紙型產品 union all se...
sql語言中的修改語句alter和update有何區別
9點說史 一 功能上的區別 1 alter 修改表結構 例如 增加表的欄位 alter table test add id,int 2 update 修改表資料 例如 修改欄位id列的值 update test set id 2 二 本質上的區別 1 alter是資料定義語言 data difini...
怎麼用SQL語句修改數值為保留兩位小數
1 建立測試表,create table test replace num id number,value number 2 插入測試資料 insert into test replace num values 1,4.9528 insert into test replace num values...