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。加上你踩了他忘了的一个值。只是玩得开心:)