我想创建下表:
create table product (id bigint not null, product_type varchar(50), product_name varchar(100), available_from TIMESTAMP, available_to TIMESTAMP, primary key (id));
我的桌子的关键是'id'。
在表格中插入时,我想要product_type是唯一的。
如果不将product_type设置为我的表的键
,该如何做到这一点答案 0 :(得分:1)
ALTER TABLE <your table name>
ADD CONSTRAINT unique_product_type UNIQUE(product_type);
我在create table SQL中看不到表名。
答案 1 :(得分:0)
函数NEWID()生成一个新的唯一ID。也许你可以在每个插入中创建一个触发器,或者将默认值设置为NEWID()。那么第二种选择看起来好一点:P
CREATE TABLE Test123
(
ID NVARCHAR(200) DEFAULT (NEWID()),
name NVARCHAR(100)
)
INSERT INTO Test123 (name) VALUES ('test')
SELECT * FROM Test123
DROP TABLE Test123
答案 2 :(得分:0)
添加一个唯一约束,类似这样(未经测试):
http://www.w3schools.com/sql/sql_unique.asp
CREATE TABLE Product
(
id bigint NOT NULL,
product_type varchar(50),
product_name varchar(100),
available_from TIMESTAMP,
available_to TIMESTAMP,
primary key (id),
UNIQUE (product_type)
)