sql - cockroachDb :仅在表存在时截断
问题描述
只有在 cockroachdb 中存在表时,如何截断表?我想删除 cockroachdb 表中的所有记录。该表可能存在也可能不存在。仅当 cockroachdb 中存在表时,如何截断该表。
我可以看到 IF exists 在 mysql 中使用。但我无法在 cockroach db 中找到类似的语法。
truncate table IF exists table1;
ERROR: syntax error at or near "exists"
DETAIL: source SQL:
truncate table IF exists table1;
解决方案
上面 SAS 的评论是正确的。GitHub 问题 #37798讨论了这种语法,并且基于此评论,我们似乎不太可能很快(如果有的话)支持这种语法,因为 Postgres 不支持它。该评论还提到了两种解决方法(上面的 Ankit Bajpai 也提到了其中一种):要么DROP TABLE IF EXISTS
后跟CREATE TABLE
,要么CREATE TABLE IF NOT EXISTS
后跟TRUNCATE
.
推荐阅读
- javascript - 使用 cookie 管理会话
- amazon-web-services - 尝试将启动时间和创建日期添加到 aws cli 查询
- c# - WPF:文本旋转和对齐问题
- pandas - OneHotEncoder 给出 ValueError :输入包含 NaN ;即使我的 DataFrame 不包含 df.isna() 所示的任何 NaN
- python - 'list' 对象不可调用以检查分数准确性?
- oracle - 在 Web 服务器中托管时,无法从网站连接到 Oracle 12c 服务器。抛出空引用异常
- java - 将目录添加到 java.library.path 后 System.loadLibrary() 上出现 UnsatisfiedLinkError
- c# - 以编程方式在 HWindowControlWPF 中选择 DrawingObject
- python - 两个熊猫数据框之间的熊猫自动连接
- python - Python根据excel输入定义变量名和条件