-1
CREATE TABLE `alternatif` (
  `id_alternatif` VARCHAR(30) NOT NULL,
  `jenis_bantuan_id` VARCHAR(30) NOT NULL,
  `nik` VARCHAR(30) NOT NULL,
  `nama` VARCHAR(100) NOT NULL,
  `penghasilan` INT(7) NOT NULL,
  PRIMARY KEY (`id_alternatif`),
  UNIQUE KEY `NIK` (`nik`),
  KEY `IdJenisBantuan` (`jenis_bantuan_id`),
  CONSTRAINT `alternatif_ibfk_1` FOREIGN KEY (`jenis_bantuan_id`) REFERENCES `jenis_bantuan` (`id_jenis_bantuan`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `kode_kabupaten` (
  `kode_kabupaten` VARCHAR(2) NOT NULL,
  `nama_kabupaten` VARCHAR(30) DEFAULT NULL,
  `umr` INT(7) DEFAULT NULL,
  PRIMARY KEY (`kode_kabupaten`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

如何从数字 3 和 4 开始连接外键?谢谢你^

在此处输入图像描述

4

1 回答 1

0

添加生成的列并将其用于引用:

ALTER TABLE alternatif
  ADD COLUMN kode_kabupaten VARCHAR(2) AS (SUBSTRING(nik FROM 3 FOR 2)) STORED,
  ADD FOREIGN KEY (kode_kabupaten) REFERENCES kode_kabupaten (kode_kabupaten);

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=1e566620cb809a3d813a3a4deccf7d49

于 2021-04-28T05:28:06.443 回答