sql >> Database teknologi >  >> RDS >> Mysql

Brug sammensat primærnøgle som fremmednøgle

Linjen:

FOREIGN KEY (pk_studentID ) REFERENCES student(pk_studentID ),

er forkert. Du kan ikke bruge pk_studentID sådan er dette kun navnet på PK-begrænsningen i den overordnede tabel. For at bruge en sammensat primærnøgle som fremmednøgle skal du tilføje det samme antal kolonner (som udgør PK'en) med samme datatyper til den underordnede tabel og derefter bruge kombinationen af ​​disse kolonner i FOREIGN KEY definition:

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. Sådan overvåger du PostgreSQL ved hjælp af Nagios

  2. Sådan tælles antallet af rækker i en tabel i SQL

  3. Kombiner SQLite Count() med GROUP BY for at tilføje en "Count"-kolonne til dit resultatsæt

  4. Databasen kan ikke åbnes, fordi den er version 782. Denne server understøtter version 706 og tidligere. En nedgraderingssti understøttes ikke