データベース内で主キーが異なる行をコピーする

私はこのように私のデータベースの行をコピーすることができます:

INSERT into `product` (productCode, title, description, price, productGroup)
    SELECT productCode, title, description, price, productGroup
    FROM `product`  
WHERE productCode = $_GET['id']

But I want the productCode to be a different value to the row I have copied from. I want it to be: $productCode

これどうやってするの?

2
productCode は一意であるためいいえ
追加された 著者 maxisme,
オートインクリメントではありません
追加された 著者 maxisme,
これはあなたのコードで動作しますか?
追加された 著者 Alex,
ユニークで自動インクリメント?
追加された 著者 Alex,

6 答え

それを好きですか:

INSERT into `product` (productCode, title, description, price, productGroup)
SELECT "$productCode", title, description, price, productGroup
FROM `product`  
WHERE productCode = ".$_GET['id']
1
追加された
あなたの答えとそれが何をしているのかを説明するのがより役に立つでしょう:)
追加された 著者 Emil,
@エミルそれは考えることをお勧めします:)
追加された 著者 Pedram marandi,
@ Eimaいいえ、違います。これはQ&Aサイトです、人々は学ぶためにここに来ます。彼らは間違った結論になるかもしれないし、まったくないかもしれません。あなたが説明するのは間違いなく良いことです。
追加された 著者 Tyrsius,

それを insert に入れることができます。

INSERT into `product` (productCode, title, description, price, productGroup)
    SELECT $productCode, title, description, price, productGroup
    FROM `product`  
WHERE productCode = $_GET['id'];

アプリケーションコードからこれを呼び出す場合は、このパラメータと id を使用することをお勧めします。

0
追加された
「where句」にエラー「不明な列 '$ productCode」が表示されます。
追加された 著者 maxisme,
これは実際の商品への入力商品(商品コード、タイトル、説明、価格、商品グループ)の選択 'GH877'、タイトル、説明、価格、商品グループから商品WHERE productCode = ML292 で、出力は<�コードです。 >#1054 - where句に不明なカラム 'ML292'がある
追加された 著者 maxisme,
@マキシミリアン。 。 。この回答の where 句には $ productCode はありません。
追加された 著者 Gordon Linoff,

商品コードの値を変更することができます。

INSERT into `product` (productCode, title, description, price, productGroup)
SELECT 'your product code value' AS productCode, title, description, price, productGroup
FROM `product`  
WHERE productCode = ".$_GET['id']
0
追加された
... `product`(productCode、... )で定義されているので、 AS productCode は本当に必要ですか。
追加された 著者 Sean,
@Seanいいえ、値の単なるエイリアスは必要ありません。
追加された 著者 M Khalid Junaid,

これは動作します:

INSERT into `product` ($productCode, title, description, price, productGroup)
    SELECT productCode, title, description, price, productGroup
    FROM `product`  
WHERE productCode = $_GET['id']
0
追加された
INSERT into `product` (productCode, title, description, price, productGroup)
    SELECT $productCode, title, description, price, productGroup
    FROM `product` p
    WHERE p.productCode = $_GET['id'];
0
追加された
これがポスターに何をしているのか説明していただければ、さらに便利です。
追加された 著者 Emil,

$ _GET ['id']は文字列でなければなりません。 IDを 'または "で囲む

'INSERT into product (productCode, title, description, price, productGroup) SELECT'.$productCode.', title, description, price, productGroup FROM product WHERE productCode = "'.$_GET['id'].'"';
0
追加された
あなたの答えを説明することで、他の人は再生するのではなく学ぶことができます。
追加された 著者 Emil,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com