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

Tabel MySQL dengan kolom varchar sebagai kunci asing

Anda hanya dapat memiliki kunci asing yang mereferensikan bidang unik. Ubah tabel network_classes Anda sehingga bidang kategori menjadi unik, seperti di bawah ini

 CREATE TABLE network_classes (
    id TINYINT(1) UNSIGNED NOT NULL AUTO_INCREMENT,
    category VARCHAR(80) NOT NULL,
    PRIMARY KEY(id),
    UNIQUE KEY `category_UNIQUE` (`category`),
    KEY `key_1` (`id`,`category`)
)
ENGINE=InnoDB;


CREATE TABLE networks (
    id TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    category VARCHAR(80) NOT NULL,
    director_id TINYINT(3) UNSIGNED NULL,
    director_name VARCHAR(100) NULL,
    description VARCHAR(1000) NULL,
    last_modified TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
    user_id SMALLINT UNSIGNED NULL,
    PRIMARY KEY(id),
    KEY `networks_fk1` (`category`),
    CONSTRAINT `networks_fk1` FOREIGN KEY (`category`) REFERENCES `network_classes` (`category`) ON DELETE NO ACTION,
    INDEX networks_index2471(name),
    INDEX networks_index2472(director_id, director_name)
)
ENGINE=InnoDB;

Anda kemudian dapat menambahkan kunci asing yang Anda inginkan



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQLi - mendeklarasikan variabel setelah bind_param?

  2. Perintah Administrasi Basis Data Dasar MySQL – Bagian I

  3. Bagaimana cara mengekstrak dua digit berturut-turut dari bidang teks di MySQL?

  4. Cara mengatur zona waktu MySQL JDBC yang benar dalam konfigurasi Spring Boot

  5. Beban Kerja Database OLTP/Analytics Hibrida:Mereplikasi Data MySQL ke ClickHouse