![](/img/trans.png)
[英]SQL - Trying to insert a new column in an existing table where the values are auto incremented by 1 starting from 50
[英]SQL insert new values into new column from the beginning of table
使用 SQL insert
時,您正在向表中插入新行。 您想要更新現有行,然后為新數據的 rest 運行插入。
所以你想插入 ID 1 的數據?
您需要使用UPDATE
,而不是INSERT
。 由於行已經存在。
如果您INSERT
數據,您將為新數據創建新行。 如果要更改現有行,則需要UPDATE
這些行。
因此,要更新現有的三個行,您需要三個UPDATE
查詢* :
UPDATE hotel set roomNumber = 20 where id=8
UPDATE hotel set roomNumber = 60 where id=9
UPDATE hotel set roomNumber = 100 where id=10
我假設您的主鍵列稱為id
- 您可能有不同的名稱。
然后插入您剩余的數據,您可以運行INSERT
查詢:
INSERT hotel (name, roomNumber)
values
('Excelsior',20),
('Manor Park Hotel', 20)
etc.
我在這里發明了一些酒店名稱,因為插入沒有酒店名稱的房間數似乎沒有什么意義。
請注意,“表的開頭”在 SQL 中沒有實際意義。除非您指定ORDER BY
子句,否則不能保證行的順序,但這與此處無關。 要更新特定行,您需要指定標識該行的WHERE
子句。 主鍵是一種常用的方法。
*如果您使用合適的WHERE
子句,您可以使用單個UPDATE
查詢執行三個更新,但這對於三行來說似乎不必要地復雜。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.