Jump to content

Question

Posted

Hi guys. 

 

I have just one question regarding core side and using the SQL statements to update/insert datas into the database.

How could i implement the following query when a new character is created?

 

("UPDATE characters SET botprev_fail_account = (SELECT botprev_fail_account FROM accounts WHERE account_name=login")

 

I want that the new character that's created on the same account to have the botprev_fail_account value taken from the ACCOUNTS table and inserted into botprev_fail_account from CHARACTERS table.

The account_name and login have the same value.

 

 

The following code that i tried doesn't work:

 

			try (Connection con2 = DatabaseFactory.getConnection())
			{
				PreparedStatement statement2 = con2.prepareStatement("UPDATE characters SET botprev_fail_account = (SELECT botprev_fail_account FROM accounts WHERE account_name=?");

				statement2.setString(1, _accountName);
				statement2.executeUpdate();
				statement2.close();
			}

 

 

 

3 answers to this question

Recommended Posts

  • 0
Posted (edited)

if in table characters the field name is 'account_name'

and in table accounts the field name is 'login':

 

UPDATE characters c, accounts a SET c.botprev_fail_account = a.botprev_fail_account WHERE c.account_name = ? and c.account_name = a.login;

 

Else, edit the query and set the right field names

Edited by melron
  • 0
Posted

Your SQL is missing closing parenthesis.

UPDATE characters SET botprev_fail_account = (SELECT botprev_fail_account FROM accounts WHERE account_name = ?)

Note, that this will update ALL characters botprev_fail_account to the value of botprev_fail_account pulled from that one account. As far as I understand that's not what You want. To fix that You should add a WHERE for characters part of the query. Something like this:

UPDATE characters SET botprev_fail_account = (SELECT botprev_fail_account FROM accounts WHERE account_name = ?) WHERE uID = ?

 

Also, instead of SELECT You could do it through JOIN like so:

UPDATE characters c INNER JOIN accounts a ON c.accountID = a.uID SET c.botprev_fail_account = a.botprev_fail_account WHERE c.uID = ?

Alternatively, just to give You some options, You could fetch botprev_fail_account value from accounts instead of saving (I assume) same value on two tables.

SELECT a.botprev_fail_account, c.something FROM characters c INNER JOIN accounts a ON c.accountID = a.uID WHERE c.uID = ?

 

Please note, that I haven't checked if any of those work and I assumed few column names - change them per Your database as needed.

Guest
This topic is now closed to further replies.


  • Posts

    • 🔥 L2Pride Interlude by DVP is NOW LIVE! 🔥 📅 Opened on June 10, 2026 at 21:00 GMT+2 ⚔️ The server is currently in the Tier 1 stage, giving everyone a fair chance to gear up and compete. 🔓 Tier 2 Items will be unlocked on June 27, 2026! ✅ Active players ✅ Stable server ✅ Competitive PvP ✅ Growing community Whether you're a solo player, clan leader, or PvP enthusiast, now is the perfect time to join and prepare for the next stage of progression. See you in-game, warriors! ⚔️ WEB: www.l2pride.ddns.net DISCORD: https://discord.gg/JVdpESC5Ry
    • Stock updates constantly. Only top items are posted on the forum. For current availability and ordering, message us on Telegram.   G2G Business 🇪🇺 EU Fully verified seller's account.   Revolut Business 🇪🇺 EU | Multi-currency IBAN, Virtual & physical cards, Instant SEPA transfers, ₿ Crypto exchange & settlements.   SumUp Business 🇬🇧 GB | POS, 1 physical card, 2 virtual cards. Payouts time: 1 day even on weekends and bank holidays, Multi-user access.   Vivid Business | Merchant POS, DE IBAN, up to 50 IBANs, SEPA Instant, unlimited transfers, up to 25 virtual and 3 physical cards.
    • 🔎 Find us: 👉🏼 Website: L2Dexter.eu 👉🏼 Discord: discord.gg/dttX9FE23W 👉🏼 Facebook: facebook.com/L2Dexter
    • G Support: https://t.me/buyingproxysup | Channel: https://t.me/buyingproxycom Discord support: #buyingproxy | Server: Join the BuyingProxy Discord Server!  Create your free account here
    • REAL PHOTOS ALWAYS «BREAK» ▪ Think a high-quality photo should be perfect? Think again. In real shots, something is almost always “off”: ▪ Noise in the shadows — especially noticeable in low light ▪ Local overexposures on highlights and glossy surfaces ▪ Loss of fine details in the brightest and darkest areas ▪ Overall “dirt” and unevenness that no editor can fully remove ▪  It’s exactly these imperfections that make the frame look alive. Algorithms already know well: a sterile clean image without these “flaws” is almost always a fake. Reality is never perfect. A fake tries to be.  Want photos that look genuinely “broken,” like they were taken on a real phone? Write to us — we’ll make even the flaws work in your favor. › TG: @mustang_service_ms ( https:// t.me/ mustang_service_ms ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #documents #drawing #photoshop #verication #fake
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..