[英]Can anyone tell me what is wrong with this query?
INSERT INTO companies(company_code, company_title, group_id, created_by,
created_at, updated_at, deleted_at)
VALUES('2','"pkgs','1','test',NOW(),NOW(),'');
嘗試這個:
declare @company_code as varchar(10) = '2'
INSERT INTO companies(company_code, company_title, group_id, created_by,
created_at, updated_at, deleted_at)
select @company_code,'"pkgs','1','test',NOW(),NOW(),'' where not exists(Select 1 from companies where company_code = @company_code)
您的 company_code 是主鍵,並且 company_code = 2 的數據已存在於 db 中,因此每當您嘗試運行此查詢時,它都會引發重復錯誤。 運行更新查詢以更新值或刪除該行並插入新的行。
您不能在PRIMARY KEY
列中插入重復的條目。 如果要在多行中使用相同的company_code
,則需要更改PRIMARY KEY
。 如果您想將此列值用作 id,那么您可以實現AUTO_INCREMENT
(MS SQL Server 中的IDENTITY
),這將自動設置列值並在每一行中遞增。 無需通過腳本傳遞此值。
CREATE TABLE companies (
company_code int NOT NULL AUTO_INCREMENT,
...................
...................
PRIMARY KEY (company_code)
);
然后你可以插入這樣的值,
INSERT INTO companies(company_title, group_id, created_by,
created_at, updated_at, deleted_at)
VALUES('"pkgs','1','test',NOW(),NOW(),'');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.