Karakter Silinmeme Sorunu Çözümü

MEKA

Discord: mekaprojects
Site yetkilisi
Süper Moderatör
Premium Üye
Grafiker
Geliştirici
Yardımsever Üye
Mesaj
2.789
Çözümler
287
Beğeni
2.039
Puan
1.850
Ticaret Puanı
2
Karakter silinmiyordu
Bu kodu
C++:
       snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d",
               GetTablePostfix(), GetTablePostfix(), pi->player_id);
       std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));
       if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)

böyle degiştirdigimde
C++:
       snprintf(queryStr, sizeof(queryStr), "SELECT * FROM player%s WHERE id=%d",
               GetTablePostfix(), pi->player_id);
       std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));
       if (pIns->Get()->uiNumRows == 0)

karakter silinebiliyor fakat db kayıt tutmuyor

orjinal kod ile silmeye çalıştıgımda silinmiyor ve verdigi db syserr
Kod:
SYSERR: Apr 13 01:55:16 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column count doesn't match value count at row 1
query: INSERT INTO player_deleted SELECT * FROM player WHERE id=10127
 
Bu bilgiyi paylaştığınız için teşekkürler. Aynı sorunu çözmenin bir diğer yolu da mevcut player tablosunu kopyalıp player_deleted adı ile tekrardan kaydetmek. Verilen syserrin sebebi iki tablo arasında sütünların uyuşmamasından kaynaklı. Bu sorunu sanırsam çoğu kişi almıştır. Zamanında bende almıştım :D
 
Evvet tam olarak dediginiz gibi gözüme çarpmadı degil tabloya girdim dedim bu player ile aynı saga dogru çektim cheque ve offline shop stunu ekli degil dedim herhalde bundan degildir diye :D
(Yumuşak g tuşum bozuk o yüzden gler öyle :D)
 
Geri
Üst