SQL插入行并进行一次更改
我有这张桌子:SQL插入行并进行一次更改,sql,select,insert,Sql,Select,Insert,我有这张桌子: Table1: id text 1 lala 我想取第一行并复制它,但id 1变为2。 您能帮我解决这个问题吗?SQL表没有第一行的概念。但是,您可以根据行的特征选择行。因此,以下方法可行: insert into Table1(id, text) select 2, text from Table1 where id = 1; 另一个注意事项是,在创建表时,可以使id列自动递增。语法因数据库而异。如果id是自动递增的,那么您可以执行以下操
Table1:
id text
1 lala
我想取第一行并复制它,但id 1变为2。
您能帮我解决这个问题吗?SQL表没有第一行的概念。但是,您可以根据行的特征选择行。因此,以下方法可行:
insert into Table1(id, text)
select 2, text
from Table1
where id = 1;
另一个注意事项是,在创建表时,可以使id列自动递增。语法因数据库而异。如果id是自动递增的,那么您可以执行以下操作:
insert into Table1(text)
select text
from Table1
where id = 1;
您可以确信新行将具有唯一的id。SQL表没有第一行的概念。但是,您可以根据行的特征选择行。因此,以下方法可行:
insert into Table1(id, text)
select 2, text
from Table1
where id = 1;
另一个注意事项是,在创建表时,可以使id列自动递增。语法因数据库而异。如果id是自动递增的,那么您可以执行以下操作:
insert into Table1(text)
select text
from Table1
where id = 1;
你会相信新的一行会有一个唯一的id。凯特-戈登的答案在技术上是正确的。然而,我想知道更多关于你为什么要这样做 如果您的目的是让字段随着每一新行的插入而递增,那么手动设置id列值并不是一个好主意—两行试图同时使用同一id时很容易发生冲突 我建议为这个MS SQL Server使用一个标识字段——在MySQL中使用一个自动增量字段。然后,您可以按如下方式进行插入:
INSERT INTO Table1 (text)
SELECT text
FROM Table1
WHERE id = 1
SQL Server将自动为id字段分配一个新的唯一值。Kate-Gordon的答案在技术上是正确的。然而,我想知道更多关于你为什么要这样做 如果您的目的是让字段随着每一新行的插入而递增,那么手动设置id列值并不是一个好主意—两行试图同时使用同一id时很容易发生冲突 我建议为这个MS SQL Server使用一个标识字段——在MySQL中使用一个自动增量字段。然后,您可以按如下方式进行插入:
INSERT INTO Table1 (text)
SELECT text
FROM Table1
WHERE id = 1
SQL Server将自动为id字段分配一个新的唯一值