Sql 当表设置了主键时插入第一行

Sql 当表设置了主键时插入第一行,sql,sql-server,tsql,Sql,Sql Server,Tsql,我花了一整天的时间创建,然后手动插入到我今天创建的一些表中,如下所示: ID - Int (Primary Key set to Auto Increment) Value - Varchar INSERT INTO Your_Table (ColA, ColB, ...) -- `except identity colums` VALUES (A, B, ...) INSERT INTO Your_Table VALUES (A, B, ...) -- except ident

我花了一整天的时间创建,然后手动插入到我今天创建的一些表中,如下所示:

  ID - Int (Primary Key set to Auto Increment)

  Value - Varchar
INSERT INTO Your_Table (ColA, ColB, ...)  -- `except identity colums`
VALUES (A, B, ...)

INSERT INTO Your_Table
VALUES (A, B, ...) -- except identity colums

INSERT INTO Your_Table
SELECT ColA, ColB, ... FROM Other_Table -- except identity colums
但后来我意识到我忘了在每个表的第一行中插入“-”的值


是否可以在表中当前每个值的ID号中添加1,然后在第一行中插入“-”值?

解决此问题的方法之一是将ID=1的记录更新为“---”:

然后,您需要将第一条记录重新插入表中:

INSERT INTO yourTable (Value) 
VALUES('the value that was originally inserted as 1')
但是,如果已经插入的记录的顺序很重要,则可以将“---”值作为ID=0插入。在这种情况下,您需要使用以下命令禁用标识列:

这样,将保留插入记录的顺序,并插入ID为0的“--”


顺便说一句,对于mySQL,您可以在默认情况下插入标识列,因为您的
ID列
自动递增(
IDENTITY
),当您
insert
时,您不能
insert
ID列
。要插入表,只需插入其他列即可。 代码按如下方式插入

  ID - Int (Primary Key set to Auto Increment)

  Value - Varchar
INSERT INTO Your_Table (ColA, ColB, ...)  -- `except identity colums`
VALUES (A, B, ...)

INSERT INTO Your_Table
VALUES (A, B, ...) -- except identity colums

INSERT INTO Your_Table
SELECT ColA, ColB, ... FROM Other_Table -- except identity colums
如果您的_表为空:

INSERT INTO Your_Table (Value)
VALUES ('--')

INSERT INTO Your_Table
SELECT '--'
如果没有:

 UPDATE Your_Table
 SET Value = '--'
 WHERE ID = 1


------------------------ More Infor -------------------------------------------
如果希望第一行的ID为1。您可以将ID列设置为具有标识(1,1)。像这样:

CREATE TABLE Your_Table
(
  ID INT IDENTITY(1, 1) PRIMARY KEY,
  Value VARCHAR(50) NULL
)

或者,在创建
您的_表
后,您可以设置右键单击
您的_表
,选择设计,选择
ID列
。查看下面的列属性,展开标识规范,双击(Is Identity),然后设置值
标识增量
标识种子

为什么要将
--
插入数字列中。另外,您使用的是什么数据库SQL Server或MySQL?请正确标记。是否可能,是(varchar列)由于tsql而杀死了
mysql
标记。相应地进行调整。只需更新ID为1的表,如下所示:
updateyourtable set Value='--'其中ID=1
您可能需要重新插入ID为1的值,可能是他上一次排序的结果@cha。加上你踩了他忘了的一个值。只是玩得开心:)