如何解决生成主键
我有下表。 并想使用主键创建列“ store_id”,因为存在多个具有相同名称的商店。以及如何为每一行生成唯一ID?
CREATE TABLE sales.stores (
store_name VARCHAR (255) NOT NULL,phone VARCHAR (25),email VARCHAR (255),street VARCHAR (255),city VARCHAR (255),state VARCHAR (10),zip_code VARCHAR (5)
);
解决方法
您似乎正在寻找身份列。在Snowflake中,您可以这样写:
create table sales.stores (
store_id number identity primary key,-- identity
store_name varchar (255) not null,phone varchar (25),email varchar (255),street varchar (255),city varchar (255),state varchar (10),zip_code varchar (5)
);
这是如何工作的explained in the documentation:
使用
AUTOINCREMENT
时,该列的默认值开始 带有一个指定的数字和每个连续的值 以指定量递增。这些参数只能使用 用于具有数字数据类型的列。
AUTOINCREMENT
和IDENTITY
是同义词。如果为 一列,Snowflake利用一个序列来生成 柱。有关序列的更多信息,请参见Using Sequences。开始和步进/递增的默认值为
1
。
身份值是默认分配的,因此插入时只需忽略此列,例如:
create table sales.stores (store_name,phone,email,street,city,state,zip_code)
select store_name,zip_code
from ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。