diff --git a/sql-files/main.sql b/sql-files/main.sql
index 559a880374..7123fce4b7 100644
--- a/sql-files/main.sql
+++ b/sql-files/main.sql
@@ -297,6 +297,7 @@ CREATE TABLE IF NOT EXISTS `char_reg_str` (
 --
 
 CREATE TABLE IF NOT EXISTS `charlog` (
+  `id` bigint(20) unsigned NOT NULL auto_increment,
   `time` datetime NOT NULL,
   `char_msg` varchar(255) NOT NULL default 'char select',
   `account_id` int(11) NOT NULL default '0',
@@ -310,7 +311,8 @@ CREATE TABLE IF NOT EXISTS `charlog` (
   `luk` int(11) unsigned NOT NULL default '0',
   `hair` tinyint(4) NOT NULL default '0',
   `hair_color` int(11) NOT NULL default '0',
-  PRIMARY KEY (`time`, `account_id`, `char_num`)
+  PRIMARY KEY (`id`),
+  KEY `account_id` (`account_id`)
 ) ENGINE=MyISAM; 
 
 --
diff --git a/sql-files/upgrades/upgrade_20191222.sql b/sql-files/upgrades/upgrade_20191222.sql
index 9b0f0bd875..7e1143dc7c 100644
--- a/sql-files/upgrades/upgrade_20191222.sql
+++ b/sql-files/upgrades/upgrade_20191222.sql
@@ -4,9 +4,6 @@ ALTER TABLE `bonus_script`
 ALTER TABLE `buyingstore_items`
     ADD PRIMARY KEY (`buyingstore_id`, `index`);
 
-ALTER TABLE `charlog`
-    ADD PRIMARY KEY (`time`, `account_id`, `char_num`);
-
 ALTER TABLE `friends`
     DROP INDEX `char_id`,
     ADD PRIMARY KEY (`char_id`, `friend_id`);
diff --git a/sql-files/upgrades/upgrade_20200108.sql b/sql-files/upgrades/upgrade_20200108.sql
new file mode 100644
index 0000000000..8a974513ef
--- /dev/null
+++ b/sql-files/upgrades/upgrade_20200108.sql
@@ -0,0 +1,5 @@
+ALTER TABLE `charlog`
+    DROP PRIMARY KEY, -- comment if primary key has not been created yet
+    ADD COLUMN `id` bigint(20) unsigned NOT NULL auto_increment first,
+    ADD PRIMARY KEY (`id`),
+    ADD KEY `account_id` (`account_id`);