আপনি একটি স্বয়ং-বৃদ্ধি কলামে sertোকাতে এবং একটি মান নির্দিষ্ট করতে পারেন। এটা ঠিকাসে; এটি কেবল অটো-ইনক্রিমেন্ট জেনারেটরকে ওভাররাইড করে।
আপনি যদি NULL বা 0 বা একটি মান সন্নিবেশ করানোর চেষ্টা করেন বা DEFAULT
আপনি যদি নিজের INSERT বিবৃতিতে কলামগুলি থেকে স্ব-বর্ধিত কলামটি বাদ দেন, এটি স্বয়ংক্রিয়-বৃদ্ধিকরণ জেনারেটরকে সক্রিয় করে।
সুতরাং, এটি ঠিক আছে INSERT INTO table1 SELECT * FROM table2
(যাইহোক, আপনার প্রথম বন্ধনী প্রয়োজন নেই)। এর অর্থ হ'ল আইডি মানগুলি table2
ভারব্যাটিম অনুলিপি করা table1
হবে এবং নতুন মান উত্পন্ন করবে না ।
আপনি যদি নতুন মান উত্পন্ন করতে চান তবে আপনি এটিtable1
করতে পারবেন না SELECT *
। হয় আপনি আইডি কলামের জন্য নাল বা 0 ব্যবহার করেন:
INSERT INTO table1 SELECT 0, col1, col2, col3, ... FROM table2;
অন্যথায় আপনি INSERT স্টেটমেন্টের কলাম তালিকা এবং নির্বাচন নির্বাচন বিবরণের নির্বাচনের তালিকা উভয় থেকে কলামটি বাদ দিতে পারেন:
-- No id in either case:
INSERT INTO table1 (col1, col2, col3) SELECT col1, col2, col3, ... FROM table2;
আপনি জিজ্ঞাসার আগে, এসকিউএলে "একটি কলাম বাদে নির্বাচন করুন" এর জন্য কোনও সিনট্যাক্স নেই। আপনি যে কলামের নাম columnোকাতে চান তার পুরো তালিকাটি বানান করতে হবে।