[MDEV-14390] INSERT .. ON DUPLICATE KEY UPDATE does not update Created: 2017-11-14  Updated: 2017-11-14  Resolved: 2017-11-14

Status: Closed
Project: MariaDB Server
Component/s: Server
Affects Version/s: 10.1
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Jan Lindström (Inactive) Assignee: Sergei Golubchik
Resolution: Not a Bug Votes: 0
Labels: None

Issue Links:
PartOf
is part of MDEV-13206 INSERT ON DUPLICATE KEY UPDATE foreig... Closed

 Description   

Test case:

CREATE TABLE `v` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 
INSERT v values (1);
 
CREATE TABLE `vp` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `v_id` int(10) unsigned NOT NULL,
  `p_id` int(10) unsigned NOT NULL,
  `ppp` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `IDX_vp_uniq` (`v_id`,`p_id`),
  KEY `FK_vp_v` (`v_id`)
) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 
INSERT vp VALUES (12, 1, 100, 'text12');
 
INSERT INTO `vp` (`id`,`ppp`) VALUES (12, 'test12-2') ON DUPLICATE KEY UPDATE `ppp` = VALUES(`ppp`);
SELECT * FROM vp;
 
DROP TABLE vp, v;

Result from 10.1.29:

REATE TABLE `v` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT v values (1);
CREATE TABLE `vp` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`v_id` int(10) unsigned NOT NULL,
`p_id` int(10) unsigned NOT NULL,
`ppp` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `IDX_vp_uniq` (`v_id`,`p_id`),
KEY `FK_vp_v` (`v_id`)
) ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT vp VALUES (12, 1, 100, 'text12');
INSERT INTO `vp` (`id`,`ppp`) VALUES (12, 'test12-2') ON DUPLICATE KEY UPDATE `ppp` = VALUES(`ppp`);
Warnings:
Warning	1364	Field 'v_id' doesn't have a default value
Warning	1364	Field 'p_id' doesn't have a default value
SELECT * FROM vp;
id	v_id	p_id	ppp
12	1	100	test12-2
DROP TABLE vp, v;

See that column ppp is not updated even when insert with id 12 causes duplicate key error.



 Comments   
Comment by Jan Lindström (Inactive) [ 2017-11-14 ]

VALUES(`ppp`) refer here on column ppp not constant ppp as I first though.

Generated at Thu Feb 08 08:13:10 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.