欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用IFNOTEXISTS创建数据表

程序员文章站 2022-05-20 22:37:34
...

如果简单的使用如下sql语句可能会返回失败,失败的原因极有可能是已经存在这张数据表了。 create table sales3 ( id NUMERIC,sale_date datetime not null) PARTITION by range(TO_DAYS(sale_date))( PARTITION sales20140301 values less than(TO_DAYS(2014

如果简单的使用如下sql语句可能会返回失败,失败的原因极有可能是已经存在这张数据表了。

create table  sales3 ( id NUMERIC,sale_date datetime not null) 
PARTITION by range(TO_DAYS(sale_date))
(
   PARTITION sales20140301 values less than(TO_DAYS('2014-03-01')),
   PARTITION sales20140401 values less than(TO_DAYS('2014-04-01'))
)

执行时返回的提示语句如下:

[SQL] create table  sales3 ( id NUMERIC,sale_date datetime not null) 
PARTITION by range(TO_DAYS(sale_date))
(
   PARTITION sales20140301 values less than(TO_DAYS('2014-03-01')),
   PARTITION sales20140401 values less than(TO_DAYS('2014-04-01'))
)

[Err] 1050 - Table 'sales3' already exists
而如果使用IF NOT EXISTS创建数据表,即使此表已经存在,也会执行成功:
create table IF NOT EXISTS  sales3 ( id NUMERIC,sale_date datetime not null) 
PARTITION by range(TO_DAYS(sale_date))
(
   PARTITION sales20140301 values less than(TO_DAYS('2014-03-01')),
   PARTITION sales20140401 values less than(TO_DAYS('2014-04-01'))
)
返回如下:
[SQL] create table  if not exists sales3 ( id NUMERIC,sale_date datetime not null) 
PARTITION by range(TO_DAYS(sale_date))
(
   PARTITION sales20140301 values less than(TO_DAYS('2014-03-01')),
   PARTITION sales20140401 values less than(TO_DAYS('2014-04-01'))
)

受影响的行: 0
时间: 0.003ms