[英]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.