![](/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.