У меня есть следующий SQL Schemaдублирование KEY UPDATE вставляет новую запись
CREATE TABLE IF NOT EXISTS `video_video_sprout` (
`video_id` int(6) default NULL,
`sprout_video_id` varchar(25) default NULL,
`is_video_type` tinyint(1) default NULL ,
`someval` varchar(25) default NULL
) ;
INSERT INTO `video_video_sprout` (`video_id`, `sprout_video_id`, `is_video_type`,someval) VALUES(62, '4c9ad9b71c1fe2c6c4', 1,'empty');
INSERT INTO video_video_sprout (video_id,sprout_video_id,is_video_type)
VALUES(62, '4c9ad9b71c1fe2c6c4', 1) ON DUPLICATE KEY UPDATE
someval="UpdatedValue" ;
Incase строка уже существует, я хочу, чтобы обновить эту строку, либо мне нужно вставить эту строку
Я пытался это так
INSERT INTO video_video_sprout
(video_id,sprout_video_id,is_video_type)
VALUES
(62, '4c9ad9b71c1fe2c6c4', 1)
ON DUPLICATE KEY UPDATE someval="UpdatedValue" ;
Поскольку эта запись уже существует, мне нужно обновить строку, либо создать новую запись на основе.
Стол должен иметь уникальный индекс, чтобы он знал, какие столбцы проверять на дублирование. – Barmar