clickhouse+sqlalchemy:select从结果中删除两行

pbwdgjma  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(530)

什么时候做 SELECT * FROM test_table; 在clickhouse客户端中,我得到了n行,但在执行时只有n-2行 engine.execute('SELECT * FROM test_table;') 来自使用sqlalchemy的python代码。
复制步骤:
clickhouse服务器正在本地主机上运行。
在clickhouse客户端中执行以下命令:

CREATE TABLE test_table (id INTEGER, created Date) ENGINE = MergeTree(created, (id), 8192);
INSERT INTO test_table (id, created) VALUES (1, 11345678);
INSERT INTO test_table (id, created) VALUES (2, 12345678);
INSERT INTO test_table (id, created) VALUES (3, 13345678);
INSERT INTO test_table (id, created) VALUES (4, 14345678);
SELECT * FROM test_table;

结果:

SELECT *
FROM test_table

┌─id─┬────created─┐
│  4 │ 2106-02-07 │
└────┴────────────┘
┌─id─┬────created─┐
│  3 │ 2084-08-20 │
└────┴────────────┘
┌─id─┬────created─┐
│  2 │ 2038-03-15 │
└────┴────────────┘
┌─id─┬────created─┐
│  1 │ 1991-10-08 │
└────┴────────────┘

4 rows in set. Elapsed: 0.004 sec.

好的,按预期4排。
执行以下python脚本:

from sqlalchemy import create_engine

connection_string = 'clickhouse://default:@localhost/default'
engine = create_engine(connection_string)
result = list(engine.execute('SELECT * FROM test_table;'))
print(len(result))
print(result)

结果:

2
[('4', '2106-02-07'), ('2', '2038-03-15')]

绝对不像预期的那样。那么,这是怎么回事?
sqlalchemy版本:1.3.11
clickhouse版本(服务器和客户端):19.17.4.11

yzxexxkh

yzxexxkh1#

修改 connection_string = 'clickhouse+native://default:@localhost/default' 请参阅:https://github.com/xzkostyan/clickhouse-sqlalchemy/issues/10

相关问题