Ara*_*avi 16 mysql primary-key auto-increment select ctas
我通过一个复杂的选择查询创建了表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`
Run Code Online (Sandbox Code Playgroud)
此查询创建一个包含firstname, lastname, lang, username,group_name列的表。我希望它也有一个id作为自动增量主键的列。
有没有办法通过更改此查询来做到这一点?我知道我可以通过在执行此查询后更改表来做到这一点,但是如果有任何方法可以直接在create table语句中执行此操作,我想知道如何执行此操作。
Mic*_*bot 15
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`;
Run Code Online (Sandbox Code Playgroud)
只要您的 中没有“id”列SELECT,这似乎完全符合您的要求。选择中的列将附加到您声明的列的右侧。
http://dev.mysql.com/doc/refman/5.6/en/create-table-select.html(也在以前的版本中)。
| 归档时间: |
|
| 查看次数: |
20239 次 |
| 最近记录: |