Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Gunakan Kunci Utama Gabungan sebagai Kunci Asing

Baris:

FOREIGN KEY (pk_studentID ) REFERENCES student(pk_studentID ),

salah. Anda tidak dapat menggunakan pk_studentID seperti itu, ini hanya nama batasan PK di tabel induk. Untuk menggunakan Kunci Utama majemuk sebagai Kunci Asing, Anda harus menambahkan jumlah kolom yang sama (yang menyusun PK) dengan tipe data yang sama ke tabel anak dan kemudian menggunakan kombinasi kolom ini di FOREIGN KEY definisi:

CREATE TABLE files
(
  files_name varchar(50) NOT NULL, 

  batch_id varchar(4) NOT NULL,         --- added, these 3 should not
  dept_id varchar(6) NOT NULL,          --- necessarily be NOT NULL
  student_id varchar (25) NOT NULL,     --- 

  files_path varchar(50),
  files_data varchar(max),              --- varchar(max) ??   
  files_bookmarks xml,                  --- xml ??
                                        --- your question is tagged MySQL, 
                                        --- and not SQL-Server

  CONSTRAINT pk_filesName 
    PRIMARY KEY (files_name),

  CONSTRAINT fk_student_files                     --- constraint name (optional)
    FOREIGN KEY (batch_id, dept_id, student_id)  
      REFERENCES student (batch_id, dept_id, student_id)
) ENGINE = InnoDB ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi MySQL ROUND() – Membulatkan Angka ke Jumlah Tempat Desimal yang Diberikan

  2. Hapus dengan Gabung di MySQL

  3. LOAD DATA INFILE dengan mudah mengkonversi YYYYMMDD ke YYYY-MM-DD?

  4. MySQLi menyiapkan laporan kesalahan pelaporan

  5. Operand Harus Berisi 1 Kolom - MySQL TIDAK DI