Mysql
CREATE TABLE … AS SELECT 中的自動增量主鍵
我使用複雜的選擇查詢通過
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
語句中執行此操作,我想知道如何執行此操作。
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`;
只要您的 中沒有“id”列
SELECT
,這似乎完全符合您的要求。選擇中的列將附加到您聲明的列的右側。http://dev.mysql.com/doc/refman/5.6/en/create-table-select.html(也在以前的版本中)。