আপনি যদি এই জাতীয় অনেকগুলি রেকর্ড তৈরি করতে চান (তবে একজনকে নয়, 10 জন ব্যবহারকারীকে নিবন্ধিত করতে চান) কী হবে? আমি নিম্নলিখিত সমাধানটি (মাত্র 5 টি অনুসন্ধান) খুঁজে পাচ্ছি:
প্রথম পদক্ষেপ: নতুন ডেটা সঞ্চয় করার জন্য অস্থায়ী সারণী তৈরি করুন।
CREATE TEMPORARY TABLE tmp (id bigint(20) NOT NULL, ...)...;
পরবর্তী, মান সহ এই টেবিলটি পূরণ করুন।
INSERT INTO tmp (username, password, bio, homepage) VALUES $ALL_VAL
এখানে আপনার পরিবর্তে $ALL_VALমানগুলির তালিকা রাখুন: ('টেস্ট 1', 'টেস্ট 1', 'বায়ো 1', 'হোম 1'), ..., ('টেস্টন', 'টেস্টন', 'বিয়ন', 'হোমেন')
দ্বিতীয় ধাপ: 'ব্যবহারকারী' সারণীতে ডেটা প্রেরণ করুন।
INSERT IGNORE INTO users (username, password)
SELECT username, password FROM tmp;
আপনি যদি ইতিমধ্যে কিছু ব্যবহারকারীকে ভিতরে থাকতে দেন তবে এখানে "আইজিনোর" ব্যবহার করা যেতে পারে। Stepচ্ছিক আপনি এই পদক্ষেপের আগে তৃতীয় ধাপের অনুরূপ আপডেট আপডেট ব্যবহার করতে পারেন, ব্যবহারকারীরা ইতিমধ্যে যার ভিতরে আছেন তা খুঁজে পেতে (এবং তাদের টিএমপি টেবিলটিতে চিহ্নিত করুন)। এখানে আমরা সাফল্য জানাই, সেই ব্যবহারকারীর নামটি PRIMARYব্যবহারকারীদের সারণিতে ঘোষণা করা হয়েছে।
তৃতীয় ধাপ: সমস্ত ব্যবহারকারীদের আইডি টিএমপি টেবিল থেকে ব্যবহারকারীদের আইডি পড়তে আপডেট প্রয়োগ করুন। এটি প্রয়োজনীয় পদক্ষেপ।
UPDATE tmp JOIN users ON tmp.username=users.username SET tmp.id=users.id
চতুর্থ ধাপ: ব্যবহারকারীদের জন্য পঠন আইডি ব্যবহার করে অন্য একটি সারণী তৈরি করুন
INSERT INTO profiles (userid, bio, homepage)
SELECT id, bio, homepage FROM tmp