Bug #31737 | INSERT SELECT - ON DUPLICATE KEY UPDATE | ||
---|---|---|---|
Submitted: | 21 Oct 2007 15:58 | Modified: | 21 Oct 2007 17:30 |
Reporter: | Fouad Mardini | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.0.38 | OS: | Linux |
Assigned to: | CPU Architecture: | Any |
[21 Oct 2007 15:58]
Fouad Mardini
[21 Oct 2007 16:06]
Fouad Mardini
OOPS, the insert should be like this INSERT INTO t1(`id1`, `id2`, `val1`, `val2`) VALUES (1, 1, 1, 10 ), (1, 2, 2, 20), (2, 1, 4, 40), (2, 2, 5, 50), (2, 3, 6, 60)
[21 Oct 2007 17:30]
MySQL Verification Team
Thank you for the bug report. I can't repeat with current source server. Please upgrade or wait to latest released version. mysql> INSERT INTO t1 -> SELECT 1, a2.id2, 0, 100 -> FROM t1 a2 WHERE a2.id1 = 2 -> ON DUPLICATE KEY UPDATE t1.val2 = a2.val1 + 100 -> ; Query OK, 5 rows affected (0.00 sec) Records: 3 Duplicates: 2 Warnings: 0 mysql> select * from t1; +-----+-----+------+------+ | id1 | id2 | val1 | val2 | +-----+-----+------+------+ | 1 | 1 | 1 | 104 | | 1 | 2 | 2 | 105 | | 1 | 3 | 0 | 100 | | 2 | 1 | 4 | 40 | | 2 | 2 | 5 | 50 | | 2 | 3 | 6 | 60 | +-----+-----+------+------+ 6 rows in set (0.00 sec) mysql> select version(); +---------------+ | version() | +---------------+ | 5.0.52-nt-log | +---------------+ 1 row in set (0.00 sec)