【解决】SQL Server为一张表设置多个主键时异常 | 如何设置联合主键

文章目录

1. 按

将多个键设置成主键时提示:无法将多个 PRIMARY KEY 约束添加到表 ‘表名’。
其实MS SQL不能这样设置2个主键:create table hello(id int primary key,name varchar(40) primary key);
设置联合主键应该是:create table hello(id int,name varchar(20),CONSTRAINT 别名 PRIMARY KEY (id,name));

2. 实际案例

-- 创建表
CREATE TABLE orders(
	M_account varchar(20) NOT NULL,
	P_no varchar(20) NOT NULL,
	O_quantity int NOT NULL,
	O_date datetime NOT NULL,
	O_confirm_state bit NOT NULL,
	O_pay_state bit NOT NULL,
	O_send_state bit NOT NULL,
	CONSTRAINT M_P PRIMARY KEY(M_account,P_no)
);

-- 清空表
-- delete from orders where 1=1;
-- truncate table orders;

INSERT orders(M_account, P_no, O_quantity, O_date, O_confirm_state, O_pay_state, O_send_state) 
VALUES('M_001', 'P_001', 1, '2005-10-09 00:00:00.000', 0, 0, 0)

SELECT * FROM orders;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论

打赏作者

COCO56(徐可可)

建议微信红包:xucoco56

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值