Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql id值为空的SQL insert_Mysql_Sql_Database_Insert - Fatal编程技术网

Mysql id值为空的SQL insert

Mysql id值为空的SQL insert,mysql,sql,database,insert,Mysql,Sql,Database,Insert,如何将符合条件但重置id值的sql行插入到新表中。换句话说,复制行,但重置id值 这是我当前的sql INSERT INTO followers_lost SELECT * FROM followers WHERE pk = $pk 我试图设置id=null和值(0),但两者都不起作用 您可以创建列,然后更新它: SET @new_id=0; UPDATE your_table SET id = @new_id := @new_id + 1 where id = 0 好的,根据你的评论,我认

如何将符合条件但重置id值的sql行插入到新表中。换句话说,复制行,但重置id值

这是我当前的sql

INSERT INTO followers_lost SELECT * FROM followers WHERE pk = $pk

我试图设置id=null和值(0),但两者都不起作用

您可以创建列,然后更新它:

SET @new_id=0;
UPDATE your_table
SET id = @new_id := @new_id + 1
where id = 0

好的,根据你的评论,我认为你是在尝试从追随者那里获取所有或部分字段,除了PK,然后将它们放入追随者中,在那里它们等于某个PK。如果需要多个PK,则需要将where子句更改为IN语句,而不是equal语句,并相应地调整值

CREATE TABLE dbo.UAT_Followers_Lost (PK INT IDENTITY(1,1),DATA VARCHAR(50) )
CREATE TABLE dbo.UAT_Followers (PK INT IDENTITY(1,1),DATA VARCHAR(50) )

INSERT INTO dbo.UAT_Followers 
(DATA)
SELECT 'Jan' 
UNION ALL 
SELECT 'Feb'
UNION ALL
SELECT 'Mar'

DECLARE @PK INT
SET @PK = 1


INSERT INTO dbo.UAT_Followers_Lost
(Data)
SELECT Data 
FROM dbo.UAT_Followers
WHERE PK = @PK

由于希望插入除标识之外的所有列,因此必须执行以下操作:指定插入上的所有非标识列:

INSERT INTO [followers_lost] ([Column1],[column2]...{but not the identity 
column})
SELECT [Column1],[column2]...{but not the identity column} FROM followers WHERE 
pk = $pk

ID是指标识栏吗?是否需要具有新标识值的新行?您能提供该表的架构吗?@JBdev我正在尝试将一行从一个表移动到另一个表,而不复制ID条目。对这是标识列我正在尝试在不复制ID条目的情况下将一行从一个表移动到另一个表。您尝试做的关键是您必须限定要插入表中的所有字段,并确保在将数据放入字段的select语句中限定这些字段。嗨,Ryan,不是真的。JBdev上面的帖子确实解决了我的问题。谢谢你的帮助