SQL在现有表中插入新行,更改除一列以外的所有列

SQL在现有表中插入新行,更改除一列以外的所有列,sql,Sql,我有一张有14列的表。第一列是第#部分。如果第10列中的数据不同,我需要插入新行并向其他13列添加不同的数据 例如: Part # Description Lead Time Price 1 Price 2 Price 3 Min. Buy Date ATA 1693 SHORTY PLUG 045 $- $- $4.25 100 110612 STC 2617 DOME PLUG 045 $-

我有一张有14列的表。第一列是第#部分。如果第10列中的数据不同,我需要插入新行并向其他13列添加不同的数据

例如:

Part # Description Lead Time Price 1 Price 2 Price 3 Min. Buy Date ATA 1693 SHORTY PLUG 045 $- $- $4.25 100 110612 STC 2617 DOME PLUG 045 $- $- $0.75 100 111912 CIS 2617 DOME PLUG 045 $- $- $0.50 100 91012 STC 2617 DOME PLUG 045 $- $- $0.50 100 91012 STD 2646 PLUG (BLACK 045 $- $- $6.75 100 91012 STC 2646 PLUG (BLACK) 045 $- $- $6.00 100 91012 STD 零件#说明交付周期价格1价格2价格3分钟购买日期ATA 1693短插头045$-$-$4.25 100 110612 STC 2617圆顶塞045$-$-$0.75 100 111912 CIS 2617圆顶塞045$-$-$0.50 100 91012 STC 2617圆顶插头045$-$-$0.50 100 91012标准 2646插头(黑色045$-$-$6.75 100 91012 STC 2646插头(黑色)045$-$-$6.00 100 91012标准 关键列是“ATA”列。我该如何添加,比如说具有“CIS”ATA代码的第2646部分。第#部分是唯一保持不变的列。我想保留表中的其他行,只需添加另一行,其中第#部分为2646,其余数据不同


我不是很精通SQL,在Internet上找到的所有东西我都试过了,但都没有成功。谢谢你的帮助。

听起来你只需要一个简单的insert语句。用你想添加到数据库表中的实际值替换值部分

Insert into YOUR_TABLE ([Part #], [Description], [Lead Time], [Price 1], [Price 2], [Price 3], [Min. Buy], [Date], [ATA])
Values (OLD_PART_NO, NEW_DESCRIPTION, NEW_LEAD_TIME, NEW_PRICE_1, NEW_PRICE_2, NEW_PRICE_3, NEW_MIN_BUY, NEW_DATE, NEW_ATA)

如果您需要一个表,其中可以有多个具有相同零件号的项目,但必须在第二列上有所不同,并且仍要防止重复,则需要编辑主键以包括
零件35;
ATA
列,如下所示:

ALTER TABLE [name]
DROP CONSTRAINT [pk_constraint_name] [or DROP PRIMARY KEY for MySQL]

ALTER TABLE [name]
ADD PRIMARY KEY([Part #],[ATA])

或者,您可以让另一列作为主键,然后在这两列上定义一个
唯一索引
,这两个列都可能具有所需的最终结果。

旧行
2646
会发生什么情况?您是否遇到错误?您的部分#是
主键
,从而导致您的问题?请指定DBMS(SqlServer、Oracle等)对于“第10列没有不同”的情况会发生什么?请更具体地说明您想要什么。另外,添加任何示例代码。最后,请参阅。欢迎使用堆栈溢出!@screenmutt当您转到该新手页面并滚动到底部,然后单击您网站的链接时,它会转到该网站,但页面正文是404错误。这是非标准SQL(目前该问题仍然使用SQL标记,而不是特定的DBMS产品)@a_horse_,且_no_name为True,但由于这些列名需要“转义”,因此我选择MSSQL,因为它是我最熟悉的。如果该问题针对特定DBMS进行更新,我将更新我的答案。在此之前,我必须这样做。