Jawaban Alpha Surya dari Pertanyaan Bagaimana cara insert data ke MySQL dengan asumsi kita tidak tahu apakah record sudah ada atau belum ada? di SETO.CO.ID

Lihat jawaban selengkapnya di SETO.CO.ID

Asumsikan kita punya tabel:

CREATE TABLE transcripts (
ensembl_transcript_id varchar(20) NOT NULL,
transcript_chrom_start int(10) unsigned NOT NULL,
transcript_chrom_end int(10) unsigned NOT NULL,
PRIMARY KEY (ensembl_transcript_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Sekarang bayangkan bahwa kita memiliki automatic pipeline untuk mengimpor transkrip meta-data dari Ensembl, dan karena berbagai alasan pipeline mungkin rusak ketika eksekusi. Dengan demikian, kita perlu memastikan dua hal: 1) eksekusi pengulangan dari pipeline tidak boleh merusak database, dan 2) eksekusi pengulangan tidak boleh menghasilkan error duplicate primary key.

Makanya cara untuk insert adalah sebagai berikut:

REPLACE INTO transcripts
SET ensembl_transcript_id = ‘ENSORGT00000000001′,
transcript_chrom_start = 12345,
transcript_chrom_end = 12678;

Tulisan ini dipost melalui Aplikasi Seto di tanya jawab seputar MySQL, dan Programming.

Advertisements