MyBB Merge - Duplicate entry for key username problemi çözümü
MyBB Merge - Duplicate entry for key username problemi çözümü
MyBB Merge - Duplicate entry for key username problemi çözümü
SORUN:
Merge işleminin yapılması enasında aşağıdaki hatalara benzer bir hata alınması.
ÇÖZÜM:
Sorun çevirme işlemini yaptığınız forum sistemi (VBulletin, PHPBB vs.) veritabanında benzer kullanıcı isimlerinin yer almasından kaynaklanmaktadır. Örneğin phpbb sistemleri AYŞE VE AYSE isimlerinin ikisini de kabul edebilmektedir. Ancak mybb bu kullanıcı ismini AYSE olarak kabul etmekte ve bu sorun yaratmaktadır.
Sorun olan karakterler ve tablo için aşağıdaki kod işinize yarayacaktır. Bu kodda phpbb_users değişkeni çeviri yapacağınız forumun kullanıcı veritabanı olmalıdır. Sonraki 'ş', 'ss' kısımları ise ş harfini ss olarak değiştireceği anlamına gelir. Bu kısımları kendinize göre değiştiriniz.
SORUN:
Merge işleminin yapılması enasında aşağıdaki hatalara benzer bir hata alınması.
MyBB has experienced an internal SQL error and cannot continue.
SQL Error:
1062 - Duplicate entry '' for key 'username'
Query:
INSERT INTO mybb_users (`usergroup`,`additionalgroups`,`displaygroup`,`import_usergroup`,`import_additionalgroups`,`import_displaygroup`,`import_uid`,`username`,`password`,`salt`,`loginkey`,`email`,`regdate`,`lastactive`,`lastvisit`,`website`,`showsigs`,`signature`,`showavatars`,`timezone`,`avatardimensions`,`avatartype`,`avatar`,`lastpost`,`icq`,`aim`,`yahoo`,`skype`,`google`,`hideemail`,`allownotices`,`regip`,`lastip`,`language`,`passwordconvert`,`passwordconverttype`,`postnum`,`invisible`,`birthday`,`birthdayprivacy`,`subscriptionmethod`,`receivepms`,`receivefrombuddy`,`pmnotice`,`pmnotify`,`showquickreply`,`ppp`,`tpp`,`daysprune`,`timeformat`,`dst`,`buddylist`,`ignorelist`,`style`,`away`,`awaydate`,`returndate`,`referrer`,`referrals`,`reputation`,`timeonline`,`showcodebuttons`,`totalpms`,`unreadpms`,`pmfolders`,`notepad`,`threadmode`,`showredirect`,`dateformat`,`dstcorrection`,`warningpoints`,`moderateposts`,`moderationtime`,`suspendposting`,`suspensiontime`,`suspendsignature`,`suspendsigtime`,`coppauser`,`classicpostbit`,`loginattempts`,`usernotes`,`showimages`,`showvideos`,`threadnum`,`usertitle`,`buddyrequestspm`,`buddyrequestsauto`,`awayreason`,`sourceeditor`) VALUES (2,'',0,2,'',0,11,'','','','','[email protected]',1384185536,1403269769,1403250935,'',1,'',1,'2','100|98','upload','./uploads/avatars/avatar_11.png?dateline=1388826568',1397073945,'0','','','','',0,1,X'50a79a5a',X'50a79a5a','english','','',524,0,'','all',0,1,0,1,0,1,0,0,0,'0',0,'1','',0,0,0,'0',0,1,0,237139,1,116,0,'1**Inbox$%%$2**Sent Items$%%$3**Drafts$%%$4**Trash Can','','linear',1,'0',2,0,0,0,0,0,0,0,0,0,1,'',1,1,'16','','1','0','','0')
ÇÖZÜM:
Sorun çevirme işlemini yaptığınız forum sistemi (VBulletin, PHPBB vs.) veritabanında benzer kullanıcı isimlerinin yer almasından kaynaklanmaktadır. Örneğin phpbb sistemleri AYŞE VE AYSE isimlerinin ikisini de kabul edebilmektedir. Ancak mybb bu kullanıcı ismini AYSE olarak kabul etmekte ve bu sorun yaratmaktadır.
Sorun olan karakterler ve tablo için aşağıdaki kod işinize yarayacaktır. Bu kodda phpbb_users değişkeni çeviri yapacağınız forumun kullanıcı veritabanı olmalıdır. Sonraki 'ş', 'ss' kısımları ise ş harfini ss olarak değiştireceği anlamına gelir. Bu kısımları kendinize göre değiştiriniz.
Kod: Tümünü seç
UPDATE phpbb_users SET username = REPLACE ( username, 'ş', 'ss');
UPDATE phpbb_users SET username = REPLACE ( username, 'ö', 'oo');
UPDATE phpbb_users SET username = REPLACE ( username, 'ğ', 'gg');
UPDATE phpbb_users SET username = REPLACE ( username, 'ç', 'cc');
UPDATE phpbb_users SET username = REPLACE ( username, 'ı', 'ii');
UPDATE phpbb_users SET username = REPLACE ( username, 'ü', 'uu');
UPDATE phpbb_users SET username = REPLACE ( username, 'ö', 'oo');
UPDATE phpbb_users SET username = REPLACE ( username, 'Ş', 'SS');
UPDATE phpbb_users SET username = REPLACE ( username, 'Ö', 'OO');
UPDATE phpbb_users SET username = REPLACE ( username, 'Ğ', 'GG');
UPDATE phpbb_users SET username = REPLACE ( username, 'Ç', 'CC');
UPDATE phpbb_users SET username = REPLACE ( username, 'İ', 'II');
UPDATE phpbb_users SET username = REPLACE ( username, 'Ü', 'UU');
UPDATE phpbb_users SET username = REPLACE ( username, 'Ö', 'OO');
! | REKLAMLARA YAPILAN TIKLAMA BİZİM TEK GELİR KAPIMIZDIR. LÜTFEN ADBLOCK TARZI EKLENTİLERLE REKLAMLARI ENGELLEMEYELİM. BİZE EN GÜZEL TEŞEKKÜRÜ BU ŞEKİLDE YAPABİLİRSİNİZ. TEŞEKKÜRLER... |