2016-06-22 8 views
0

トランザクションIDが最大値のデータベーステーブルにいくつかの値を挿入したいのですがどうすればいいですか? IDが最大のデータベーステーブルに値を挿入する方法

INSERT INTO transaction_db (score1,score2) 
    VALUES ('1','1') 
    WHERE transaction_id=(Select MAX(transaction_id) from transaction_db)    
- あなたはあなたのSQL構文でエラーが発生しています。 を使用する権利構文については、ご使用のMariaDBサーバのバージョンに対応していること取扱説明書を確認し 近く「どこtransaction_id3 =(MAX transaction3_dbから(transaction_id3)を選択して)」あなたは UPDATEコマンドを使用する必要がライン1

+2

これは、 'INSERT'を使用した' UPDATE 'のようです。 –

答えて

1

UPDATEを使用する必要があります。あなたが試すことができます。

UPDATE transaction_db 
SET score1 = 1, score2 = 1 
ORDER BY transaction_id DESC 
LIMIT 1; 
+0

それは働いた。 –

1

で特定の行の値を変更します。 INSERTは、新しい行を追加するために使用されます。 INSERTにはWHEREが使用されていません。

UPDATE transaction_db set score1 = 1, score2 = 1 where transaction_id=(Select MAX(transaction_id) from transaction_db) 
+1

あなたはそれを試してみましたか?私はそれがうまくいくのか疑問だ。 –

+1

@Sarath Mohan @A Jいいえ、それはうまくいきません。エラー:テーブル 'transaction_db'が 'UPDATE'のターゲットとデータの別ソースとして両方とも指定されています –

+0

@Soumya @ AJ My bad。それは動作しません。 DBオープンチャネルの問題のいくつかの種類? MySqlではまだサポートされていません。内側のクエリは最初に正しく実行する必要がありますか?更新していただきありがとうございます。 :) –

関連する問題