PostgreSQL数据库语法-复制表语法
程序员文章站
2024-03-21 13:39:58
...
PostgreSql复制表
问题:有一张表cq_question_answer中的部分数据需要修改,但是表中的数据量很大,所以我想借助临时表来操作。
所以我采用MySQL常用的复制表的语法(如下)来生成一张与cq_question_answer结构相同的临时表cq_question_answer_temp:
CREATE TABLE cq_question_answer_temp like cq_question_answer;
结果运行sql报错,错误信息:
[SQL]CREATE TABLE cq_question_answer_temp like cq_question_answer;
[Err] ERROR: syntax error at or near "like"
LINE 1: CREATE TABLE cq_question_answer_temp like cq_question_answer...
^
说在"like"附近有语法错误,所以我换另一种写法试试:
CREATE TABLE cq_question_answer_temp SELECT * FROM cq_question_answer WHERE 1 = 2;
运行结果还是出错,跟上面的错误一样:
[SQL]CREATE TABLE cq_question_answer_temp SELECT * FROM cq_question_answer WHERE 1 = 2;
[Err] ERROR: syntax error at or near "SELECT"
LINE 1: CREATE TABLE cq_question_answer_temp SELECT * FROM cq_questi...
^
所以,我采用另外一种写法,将"SELECT"子句用括号括起来:
CREATE TABLE cq_question_answer_temp AS (SELECT * FROM cq_question_answer WHERE 1 = 2);
运行结果ok:
[SQL]CREATE TABLE cq_question_answer_temp as (SELECT * FROM cq_question_answer WHERE 1 = 2);
时间: 0.104s
受影响的行: 0
PostgreSQL的中文文档相对还是比较少,也没有向学习MySQL那么系统地学习过,所以使用起来难免会有很多不习惯的地方,出了问题多琢磨琢磨,毕竟SQL语法还是共同的。
编者按:本文由弄青春原创,如果您喜欢,劳驾您点个赞,也欢迎您留下宝贵的评论!若要转载,请注明出处!
上一篇: tp 多表联查 递归
下一篇: 文档(6)