Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ubah tipe data Kolom dengan kunci utama

Anda perlu menentukan NOT NULL secara eksplisit dalam ALTER TABLE ... ALTER COLUMN jika tidak, defaultnya adalah mengizinkan NULL . Ini tidak diizinkan di kolom PK.

Berikut ini berfungsi dengan baik.

CREATE TABLE p
(
ReferenceID VARCHAR(6) NOT NULL PRIMARY KEY
)

INSERT INTO p VALUES ('AAAAAA')

ALTER TABLE p ALTER COLUMN ReferenceID VARCHAR(8) NOT NULL

ketika NOT NULL dihilangkan itu memberikan kesalahan berikut

Msg 5074, Level 16, State 1, Line 1
The object 'PK__p__E1A99A792180FB33' is dependent on column 'ReferenceID'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE ALTER COLUMN ReferenceID failed because one or more objects access this column.

Beberapa hal yang perlu dipertimbangkan dalam pendekatan terprogram adalah Anda akan perlu membuang kunci asing apa pun yang merujuk pada ReferenceID kolom sementara dan juga pastikan Anda tidak menyertakan NOT NULL untuk (Non PK) ReferenceID kolom yang saat ini adalah dapat dibatalkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Menghitung Jumlah Tabel Sistem dalam Database SQL Server

  2. atur identitas pada kolom

  3. Bagaimana cara membuat log kesalahan atau log kesalahan khusus dalam Paket SSIS?

  4. bagaimana cara memasukkan datetime ke tabel SQL Database?

  5. Memilih titik geografis di dalam area