tidb v 6.5.0 不支持 create table table_name as select * from T; 这种语法,但是如果我只想要T表中的某一段数据,比如 create table table_name as select * from T where T.pk > 2000 and T.pk <2500 and T.cust_name IN (‘tom’,‘jack’,‘eason’);这样的数据,请问怎么做啊?
show create table T;
然后建原来的建表语句表名改成 table_name ,
然后insert into table_name select * from T where T.pk > 2000 and T.pk <2500 and T.cust_name IN (‘tom’,‘jack’,‘eason’);
3Q大佬
分两步:
create table XXXX like XXXX;
insert into select * from XXXX where …
注意导入有1G内存数据量限制,例如你可以在执行窗口set tidb_mem_quota_query=8589934592改成8G
3Q,3Q,大佬
使用Insert select 语法。如果两个表一样,直接使用。如果需要列名对应,需要指定列名。
create table new_tab like t;
insert into new_tab select * from T where T.pk > 2000 and T.pk <2500 and T.cust_name IN (‘tom’,‘jack’,‘eason’);
不支持一步你就两步走呗,先建表,后insert。
1 个赞
先create ,再insert
tidb 有最大事务控制,小表可以这么弄,大表要注意
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。