টেবিল তৈরি করুন ... যেমন নির্বাচন করুন তে স্বতঃআগ্রহীকরণ প্রাথমিক কী


12

আমি এর মাধ্যমে একটি জটিল নির্বাচনী ক্যোয়ারী ব্যবহার করে টেবিল তৈরি করেছি CREATE TABLE ... AS SELECT...। এই ক্যোয়ারীতে আমি কীভাবে একটি স্বয়ত্তিকারের প্রাথমিক কী যুক্ত করতে পারি?

উদাহরণ স্বরূপ:

create table `user_mv` select `user`.`firstname` as 
   `firstname`,
   `user`.`lastname` as `lastname`,
   `user`.`lang` as `lang`,
   `user`.`name` as `user_name`,
   `group`.`name` as `group_name`
from `user`
  inner join `user_groups` on (`user`.`user_id`=`user_groups`.`user_id`)
  left  join `group` on (`group`.`group_id`=`user_groups`.`group_id`)
where `user`.`lang`=`group`.`lang` 

এই ক্যোয়ারিতে একটি সারণি ধারণ করে সৃষ্টি firstname, lastname, lang, username, group_nameকলাম। আমি এটিতে একটি idকলামও রাখতে চাই যা একটি স্বয়ংসোধক প্রাথমিক কী।

এই ক্যোয়ারী পরিবর্তন করে এটি করার কোনও উপায় আছে? আমি জানি যে এই কোয়েরিটি সম্পাদন করার পরে টেবিল পরিবর্তন করে আমি এটি করতে পারি, তবে যদি create tableবিবৃতিতে সরাসরি এটি করার কোনও উপায় থাকে তবে আমি কীভাবে এটি করব তা জানতে চাই।

উত্তর:


11
CREATE TABLE `user_mv` (id INT AUTO_INCREMENT PRIMARY KEY) SELECT `user`.`firstname` as 
   `firstname`,
   `user`.`lastname` as `lastname`,
   `user`.`lang` as `lang`,
   `user`.`name` as `user_name`,
   `group`.`name` as `group_name`
from `user`
  inner join `user_groups` on (`user`.`user_id`=`user_groups`.`user_id`)
  left  join `group` on (`group`.`group_id`=`user_groups`.`group_id`)
where `user`.`lang`=`group`.`lang`;

আপনার যতক্ষণ না কোনও 'আইডি' কলাম রয়েছে SELECT, ততক্ষণ আপনি যা চান ঠিক তেমনটি প্রদর্শিত হয়। নির্বাচিত কলামগুলি আপনার ঘোষিত কলামগুলির ডানদিকে যুক্ত হবে।

http://dev.mysql.com/doc/refman/5.6/en/create-table-select.html (পূর্ববর্তী সংস্করণগুলিতেও)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.