我花了一整天时间创建,然后手动插入我今天创建的一些表格,如下所示:
ID - Int (Primary Key set to Auto Increment)
Value - Varchar
但后来我意识到我忘了插入" - "进入每个表的第一行。
是否可以为表中当前每个值的ID no添加1,然后插入" - "值进入第一行?
答案 0 :(得分:1)
解决此问题的方法之一是将ID = 1的记录更新为“ - ”:
update yourTable set Value = '--' where id = 1
然后,您将需要将第一条记录重新插入表中:
INSERT INTO yourTable (Value)
VALUES('the value that was originally inserted as 1')
但是,如果已插入记录的顺序很重要,那么您可以插入“ - ”值作为ID = 0.在这种情况下,您需要使用SET IDENTITY_INSERT禁用IDENTITY列:< / p>
SET IDENTITY_INSERT yourTable ON
INSERT INTO yourTable (ID, Value)
VALUES(0, '--')
SET IDENTITY_INSERT yourTable OFF
这样就会保留插入记录的顺序,并插入ID为0的“ - ”
BTW,对于mySQL,您可以默认插入IDENTITY列
答案 1 :(得分:0)
由于您的ID column
自动增量(IDENTITY
),当您insert
时,您不能insert
ID column
。要insert
您的表格,您只需insert
个其他列。
代码insert
是这样的:
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
如果Your_Table为空:
INSERT INTO Your_Table (Value)
VALUES ('--')
INSERT INTO Your_Table
SELECT '--'
如果不是:
UPDATE Your_Table
SET Value = '--'
WHERE ID = 1
------------------------ More Infor -------------------------------------------
如果要第一行有ID = 1.您可以设置ID列有IDENTITY(1,1)。像这样:
CREATE TABLE Your_Table
(
ID INT IDENTITY(1, 1) PRIMARY KEY,
Value VARCHAR(50) NULL
)
或者,创建Your_Table
后,您可以设置右键单击 Your_Table
,选择设计,然后选择ID column
。查看下面的列属性,展开身份规范,双击(身份),然后设置值Identity Increment
和{{1} }