0

使ってます

mysql_query("INSERT INTO imaegs_backup SELECT * FROM images");

imagesテーブルの情報をimages_backupテーブルにコピーするため。私が持っている画像テーブル:

id     name      link

1      name1     www.aaa.com/1
2      name2     www.aaa.com/2
3      name3     www.aaa.com/3

5      name5     www.aaa.com/5

ご覧のとおり、画像テーブルにID番号4がありません。そして、テーブルをコピーしているとき、テーブルimages_backup(これは予想されます)で同じ結果が得られます。画像テーブルをimages_backupにコピーするにはどうすればよいですか?結果は次のようになります。

id     name      link

1      name1     www.aaa.com/1
2      name2     www.aaa.com/2
3      name3     www.aaa.com/3
4      name5     www.aaa.com/5

行4に示されているように、name5と画像5へのリンクがあります。注:id列は自動インクリメントに設定されていますが、変更できます。

4

1 に答える 1

3

挿入するテーブルに自動インクリメントIDがある場合は、2つの列を指定するだけです。自動インクリメントフィールドは値自体を処理します。

INSERT INTO images_backup (name, link) 
SELECT name, link FROM images ORDER BY id
于 2012-06-17T00:31:24.503 に答える