समाधान ORDER BY और LIMIT को FROM क्लॉज में शामिल होने के हिस्से के रूप में घोंसला बनाना है। इससे आपको पहले अपडेट की जाने वाली सटीक पंक्ति (ta.id) मिलती है, फिर अपडेट करने के लिए प्रतिबद्ध करें।
UPDATE tableA AS target
INNER JOIN (
SELECT ta.id
FROM tableA AS ta
INNER JOIN tableB AS tb ON tb.id = ta.user_id
WHERE tb.username = '$varName'
ORDER BY ta.datetime DESC
LIMIT 1) AS source ON source.id = target.id
SET col1 = '$var';
इस सटीक विषय पर उत्कृष्ट पोस्ट के लिए बैरन श्वार्ट्ज, उर्फ Xaprb को हैट टिप:http://www.xaprb.com/blog/2006/08/10/how-to-use- आदेश-दर-और-सीमा-पर-मल्टी-टेबल-अपडेट-इन-mysql/