基準に合致する新しいテーブルにsql行を挿入する方法はありますが、id値はリセットされます。つまり、行をコピーしますが、id値をリセットします。IDに空の値を持つSQL挿入
これは私が(0)ヌルとVALUE = IDを設定しようとしたが、両方が動作しません。私の現在のSQL
INSERT INTO followers_lost SELECT * FROM followers WHERE pk = $pk
です。
基準に合致する新しいテーブルにsql行を挿入する方法はありますが、id値はリセットされます。つまり、行をコピーしますが、id値をリセットします。IDに空の値を持つSQL挿入
これは私が(0)ヌルとVALUE = IDを設定しようとしたが、両方が動作しません。私の現在のSQL
INSERT INTO followers_lost SELECT * FROM followers WHERE pk = $pk
です。
あなたが身元を除くすべての列をしたいので、しなければならないすべては、インサート上のすべての非ID列を指定します:
INSERT INTO [followers_lost] ([Column1],[column2]...{but not the identity
column})
SELECT [Column1],[column2]...{but not the identity column} FROM followers WHERE
pk = $pk
素晴らしい、これは働いた! – Daniil
あなたが列を作成し、それを更新することができます:あなたのコメントに基づいて
SET @new_id=0;
UPDATE your_table
SET id = @new_id := @new_id + 1
where id = 0
OK、私はあなたがPKを除くすべてまたはフォロワーからの一部のフィールドを取り、どこFollowers_Lostに入れしようとしていると思います彼らは特定のPKに等しい。複数のPKを必要とする場合は、where節をequalの代わりにIN文に変更し、それに応じて値を調整する必要があります。
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
IDエントリをコピーせずにあるテーブルから別のテーブルに行を移動しようとしています。 – Daniil
あなたがしようとしていることの鍵は、テーブルに挿入したいすべてのフィールドを修飾し、フィールドにデータを置いているselect文の同じフィールドを修飾する必要があるということです。 –
これはあなたの質問を解決しましたか? –
IDによって、あなたは、ID列を意味していますか?新しいID値を持つ新しい行が必要ですか?あなたはテーブルのスキーマを提供できますか? – JBdev
@JBdev IDエントリをコピーせずにあるテーブルから別のテーブルに行を移動しようとしています。はい、ID列です – Daniil