INSERT INTO companies(company_code, company_title, group_id, created_by,
created_at, updated_at, deleted_at)
VALUES('2','"pkgs','1','test',NOW(),NOW(),'');
答案 0 :(得分:0)
尝试一下:
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)
答案 1 :(得分:0)
您的company_code是主键,并且db中已经存在company_code = 2的数据,因此,每当您尝试运行此查询时,它将引发重复错误。运行更新查询以更新值,或者删除此行并插入新行。
答案 2 :(得分:0)
您不能在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(),'');