SQLite-特定の数だけ値を増やします


93

最後の値を読み取らずに更新することなく、テーブルの特定の値を特定の数だけ増やすことは可能ですか?

つまり、「製品」と「品質」の列があります。製品:iLampの品質:50

品質をxずつ上げたり下げたりしたい。これを達成するために、私は最初に最後の値(50)を読み、それを増減し、それを書き戻します。

このタスクを完了する直接の方法はありますか?

回答:


201

サンプル1(すべての行):

UPDATE Products SET Price = Price + 50

サンプル2(特定の行):

UPDATE Products SET Price = Price + 50 WHERE ProductID = 1

サンプル3(一般):

UPDATE {Table} SET {Column} = {Column} + {Value} WHERE {Condition}

どこ:

  • {Table} -テーブル名
  • {Column} -列名
  • {Value} -列の値を増減する数値
  • {Condition} -もしあれば、いくつかの状態

3
FROMはSQLiteキーワードですか?ドキュメントはそれを示していないようです。sqlite.org/lang_update.html
Jason S

sqlite3を使用してこれをPythonで行うにはどうすればよいですか?col + = 1を更新する必要があります。
st.ph.n 2016

@ user3358205:男の言うように...UPDATE table SET col = col + 1 WHERE first_column = ?
2016

上の増分に基準のリスト、ような何かUPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]
zelusp

@Konstantinこれは、列のすべての行の値を段階的に増加させることは可能ですか?既存の行が「R、S、T」の場合、「R1、S2、T3」である必要があります。なにか提案を ?
CoDe 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.