ALTER TABLE table2
ADD FOREIGN KEY FK_IMAGE (id_image)
REFERENCES table1 (id_image)
ON DELETE CASCADE
ON UPDATE CASCADE;
SET @currentRow = 0;
UPDATE table1 INNER JOIN (
SELECT @currentRow := @currentRow + 1 AS id_image_new, id_image AS id_image_old
FROM table1
ORDER BY id_image ASC) t on t.id_image_old = table1.id_image
SET table1.id_image = t.id_image_new;
ALTER TABLE table1 AUTO_INCREMENT = 1;
FK तदनुसार आपकी दूसरी तालिका की आईडी को स्वचालित रूप से अपडेट कर देगा।
मुझे बिल्कुल भी यकीन नहीं है, लेकिन MySQL के कुछ पुराने संस्करणों में, उस तालिका को अपडेट करें जिसे आप अपडेट के सबक्वायरी में संदर्भित कर रहे हैं, क्रैश हो सकता है। यदि ऐसा है, तो बस एक दूसरी तालिका बनाएं और उसे भरें (सम्मिलित करें), फिर पुरानी को हटा दें और नई का नाम बदलें।