簡體   English   中英

SQL將新行插入到現有表中,更改除一列外的所有列

[英]SQL Insert a new row into an existing table changing all but one column

我有一張有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

關鍵列是“ ATA”列。 我要如何添加ATA代碼為“ CIS”的零件號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)

如果您需要一個表,其中可以有多個具有相同零件號的項目,但必須在第二列上有所不同,並且仍然希望防止重復,則需要編輯PRIMARY KEY以同時包括Part #ATA列,如下所示:

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

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

或者,您可以將另一列用作主鍵,然后在這兩列上定義UNIQUE INDEX ,這兩種方法都有可能獲得所需的最終結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM