Quantcast
Viewing all articles
Browse latest Browse all 812

ON DUPLICATE UPDATE Issue (no replies)

Hi,

I am using MySQL Version 5.0.37-community-log

My table structure is

CREATE TABLE `<tablename>` (
`id` int(11) NOT NULL default '0',
`date_of_birth` datetime NOT NULL default '0000-00-00 00:00:00',
`last_date` datetime NOT NULL default '0000-00-00 00:00:00',
`expiry_date` datetime NOT NULL default '0000-00-00 00:00:00',
`sesskey` varchar(32) NOT NULL default '',
`sessdata1` varchar(255) default NULL,
`sessdata2` varchar(255) default NULL,
PRIMARY KEY (`sesskey`),
) ENGINE=MYISAM;

mysql >SELECT * FROM <tablename> WHERE sesskey = 'bn';
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
| id | date_of_birth | last_date | expiry_date | sesskey | sessdata1 | sessdata2 |
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
| 0 | 2010-06-30 13:06:23 | 2010-06-30 13:07:36 | 2010-06-30 13:07:36 | bn | a1 | b2 |
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
1 row in set (0.00 sec)

After this I have executed the below querys

mysql> INSERT INTO <tablename> (sesskey, sessdata1, sessdata2, expiry_date, last_date, date_of_birth)
VALUES ('bn', 'aaaa', 'bbbb', DATE_ADD(NOW(), INTERVAL 30 MINUTE), NOW(), NOW())
ON DUPLICATE KEY
UPDATE sessdata1 = 'aaaa',
sessdata2 = 'bbbb';
Query OK, 0 rows affected (0.00 sec)

mysql >SELECT * FROM <tablename> WHERE sesskey = 'bn';
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
| id | date_of_birth | last_date | expiry_date | sesskey | sessdata1 | sessdata2 |
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
| 0 | 2010-06-30 13:06:23 | 2010-06-30 13:07:36 | 2010-06-30 13:07:36 | bn | a1 | b2 |
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
1 row in set (0.00 sec)

mysql> alter table <tablename>;

mysql >SELECT * FROM <tablename> WHERE sesskey = 'bn';
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
| id | date_of_birth | last_date | expiry_date | sesskey | sessdata1 | sessdata2 |
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
| 0 | 2010-06-30 13:06:23 | 2010-06-30 13:07:36 | 2010-06-30 13:07:36 | bn | aaaa | bbbb |
+----+---------------------+---------------------+---------------------+---------+-----------+-----------+
1 row in set (0.00 sec)


After ON DUPLICATE UPDATE query the data is not updating and immediately after altering the table the data is updated.

What would be the reason?

Viewing all articles
Browse latest Browse all 812

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>