Как в MySQL вставить “если её ещё нет”?

Возможно вы хотите написать такой SQL запрос, который будет вставлять данные в таблицу (основываясь на идентификаторе), если их ещё там нет или не делать ничего в обратном случае. Решение в данной заметке.

Можете воспользоваться запросом REPLACE:

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

Для решения этой же задачи можно воспользоваться и запросом INSERT IGNORE:

INSERT IGNORE INTO `transcripts`
SET `ensembl_transcript_id` = ‘ENSORGT00000000001′,
`transcript_chrom_start` = 12345,
`transcript_chrom_end` = 12678;

И в том и в другом случае вы добьётесь нужного эффекта.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysql
Перевел: Станислав Протасевич
Урок создан: 11 Апреля 2016
Просмотров: 2936
Правила перепечатки


5 последних уроков рубрики "Разное"

^ Наверх ^