Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách xóa ràng buộc khóa ngoại trong SQL

Vấn đề:

Bạn muốn bỏ khóa ngoại từ một bảng trong cơ sở dữ liệu.

Ví dụ:

Chúng tôi muốn xóa khóa ngoại có tên fk_student_city_id từ bảng student .

Giải pháp 1 (bảng mới):

ALTER TABLE student
DROP CONSTRAINT fk_student_city_id;

Thảo luận:

Để bỏ khóa ngoại khỏi bảng, hãy sử dụng ALTER TABLE mệnh đề với tên của bảng (trong ví dụ của chúng tôi, student ) theo sau là mệnh đề DROP CONSTRAINT với tên của ràng buộc khóa ngoại. Trong ví dụ của chúng tôi, tên của ràng buộc này là fk_student_city_id .

Nếu ràng buộc cho khóa ngoại được tạo bởi cơ sở dữ liệu, bạn có thể tìm thấy tên này trong cơ sở dữ liệu. Tuy nhiên, mỗi máy chủ cơ sở dữ liệu có một cách khác nhau để đặt tên cho các ràng buộc. Trong SQL Server, bạn có thể kiểm tra nó bằng cách chọn dữ liệu từ sys.key_constraints trong cơ sở dữ liệu đã cho. Trong PostgreSQL, bạn chọn conname từ pg_constraint bàn. Oracle lưu trữ dữ liệu này trong bảng user_constraints và MySQL cho phép bạn lấy tên từ CONSTRAINT_NAME trong information_schema.TABLE_CONSTRAINTS .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình điều khiển Salesforce của bạn có Hỗ trợ Hành động Hàng loạt không?

  2. Gửi dữ liệu SentryOne tới Máy tính DTU của Cơ sở dữ liệu Azure SQL

  3. Thay thế con trỏ SQL bằng các giải pháp thay thế để tránh các vấn đề về hiệu suất

  4. SQL CREATE TABLE… AS Câu lệnh CHỌN

  5. Làm việc với dữ liệu Java trong Alteryx