clickhouse无法建mergetree表,centos环境,50元赏金

clickhouse-client --port 9000 -u default --password default --multiline -n
进入客户端后,无法建表,语句如下:
CREATE TABLE xxx (
xxx String,
ip String,
created_at Date,
updated_at Date
) ENGINE=MergeTree()
order by created_at
PARTITION BY toYYYYMMDD(created_at);
一直报Expected end of query错误,错误字符定位在order的o上,似乎ENGINE之后不允许再跟变量了。
1.求解决建表问题。centos。
2.clickhouse的删除、更新问题。

sql

CREATE TABLE If Not Exists user (`ip` String,
`created_at` Date,
`updated_at` Date) ENGINE = MergeTree() PARTITION BY toYYYYMMDD(created_at)
ORDER BY
(created_at) SETTINGS index_granularity = 8192;

执行结果

img

CREATE TABLE spider (
spider String,
ip String,
created_at Date,
updated_at Date
)

改成这样执行以下,看看是否创建成功

可以先去除报错部分的语句,之后慢慢添加多试几次

1.首先排查一下你运行的sql中的括号是否包含中文
2.clickhouse客户端退出重新链接,这样可以将session释放
3.如果以上还未解决,请提供以下clickhouse-server.log和clickhouse-server.err.log(执行该sql的日志)

可以使用 https://github.com/EdurtIO/dbm 工具进行可视化建表

后面先跟partition by 再跟order by

img

img

是可以创建的,是不是ck数据库版本问题,
或者试一下换位
CREATE TABLE test2 (
name String,
ip String,
created_at Date,
updated_at Date
) ENGINE = MergeTree
PARTITION BY toYYYYMMDD(created_at) ORDER BY created_at
SETTINGS index_granularity = 8192;
然后修改和删除都要用到 alter 关键字,其实不建议ck用来做修改操作,一般就用来做查询

先把order by部分去掉,试试能不能成功