有没有直接能create table as 并且顺便partition by的sql语句呢?

发布于 2022-09-30 23:07:29 字数 568 浏览 19 评论 0

create table xx as相信大家都不陌生,可能应用的时候是这样子:
'''

create table B as(
    select x,x,x
    from A
)

'''
但是我自己尝试过后,并不能在这个语句中加入partition by顺便分区。
想要创建带分区的表的话,(由于我太菜)只能先create table再把字段列上&分区打上,再insert到表里。

问题:有没有直接能create table as 并且顺便partition by的sql语句呢?


根据大佬@范捷琦Jackie 尝试过

create table B as(
    select * from A
) partitioned by  (item_a string)

编译报错FAILED: ParseException line 3:2 missing EOF at 'partitioned' near ')'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陈年往事 2022-10-07 23:07:29

根据文档create-table-select是可以的:

CREATE TABLE `users1` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL,
  `age` smallint(5) unsigned DEFAULT NULL,
  `grade` smallint(6) DEFAULT NULL,
  `created_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4
/*!50100 PARTITION BY HASH (id)
PARTITIONS 20 */
SELECT * FROM users
;

希望能帮助到你。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文