• ベストアンサー

SQLiteで「UPDATE table1 SET cnt+=1」のようなことがしたいのですがどう書けばいいですか?

adobe AirにてSQLiteを使っています。 ある値を加算してやりたいのですがmySQLと同じ書き方ではできませんでした。下の2つの書き方はいずれもだめでした。 UPDATE table1 SET cnt+=1 UPDATE table1 SET cnt=cnt+1 どのように書けばいいのでしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

SQLの基本的な構文であり、MySQLとは違うといったことはありません。 update 表名 set 列名=列名+1 >mySQLと同じ書き方ではできませんでした。下の2つの書き方はいずれもだめでした。 「だめ」とは、具体的にどうなるのですか? 文法エラー? 更新しているはずなのに、値が変わっていない?

tenketu
質問者

お礼

chukenkenkouさん、わざわざお忙しい中この質問に目を通してくださってありがとうございます。 お礼が遅れて申し訳ありませんでした。教えてgooからのメールが今日届いたため、気づくことができませんでした。 >SQLの基本的な構文であり、MySQLとは違うといったことはありません。 との御助言より、もう一度落ち着いて試したろころ、うまくいきました。 原因は全く別のことでした。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQLITEで全角テーブルアップデート

    SQLITEで全角テーブルアップデート こんにちは。SQLITEでアップデートをしたいと思っています。問題がテーブル名が全角文字です。 テーブル名: T_在庫 フィールド: 商品コード,在庫 001,3 002,2 003,5 下記のSELECT文は動きます。 SELECT "T_在庫"."商品コード","T_在庫"."在庫" FROM "T_在庫" 次にUPDATEをかけたいと思っています。 UPDATE "T_在庫" SET "T_在庫"."在庫" = 0 [Err] 1 - near ".": syntax error このように表示されます。 試しに、ダブルクォテーションを外しても同じです。 どのようにすればSQLITEでアップデートがかけることができるのでしょうか?文法は間違っていないとは思うのですが・・・

  • 2つのテーブルのupdate

    AtableというテーブルとBtableというテーブルのTypeフィールドをupdateする場合、テーブルが異なるごとにmysql_queryを使っているのですが、この場合、ひとつにまとめられないものでしょうか? このような使用方法が通常ですか? よろしくお願い致します。 $ASQL = "update Atable set Type = 1 where id = $a"; $BSQL = "update Btable set Type = 1 where id = $b"; mysql_query($ASQL); mysql_query($BSQL);

  • 別テーブルの値をsetしてupdateしたい

    テーブルAとテーブルBで、idが一致したデータのみ、 テーブルAのフィールドにテーブルBの値を入れたいです。 tera termを使用して、 UPDATE tableA as a, tableB as b SET a.value = b.value WHERE a.id = b.id 上記のupdate文を流すと一行目の[as a]からsyntaxエラーが出ます。 ERROR 1064: You have an error in your SQL syntax near 'as a, tableB as b SET ~' at line 1 書き方が悪いのでしょうか? どのように記述すればb.valueをa.valueにsetできますか?

    • ベストアンサー
    • MySQL
  • SQLiteのUPDATE文を教えてください。

    UPDATE tableA, tableB SET tableA.name = tableB.name WHERE tableA.id = tableB.id; 上記のSQLが他のデータベースでは動きますが、SQLiteでは動きません。 同意味のSQLはどう書くのでしょうか。お願いします。

  • SQLiteを始めたけどMySQLを勉強したい

    昨日からSQLを勉強しはじめてPHPでSQLiteでテーブルを作ってSelectしてhtml上で表にするところまでできました(なので超初心者です)。 やっとサイトのひな形ができたので、SQLite対応のレンタルサーバーを探してみたのですが、なんと対応しているサーバーがほとんどありません! 個人使用なので高いレンタル料は無理なので、仕方ないと思い、今後の勉強もあってMySQLを勉強しなおそうかと思っています。 しかし、イマイチconnectとか概念がよくわかっていないのですが、MySQLはそれほど難しいものではないのですか? 本来なら単純な表なのでSQLiteで済まそうかと考えていたのですが、あまりよいSQLite対応サーバーが見つかりませんでした(あれば教えていただきたいです)。

    • ベストアンサー
    • MySQL
  • Access SQLITEのリンクテーブル編集不可

    AccessからSQLITEのリンクテーブル編集不可 Access2010を持っています。ODBC リンクテーブルよりSQLITEのテーブルにリンクテーブルしたいと思っています。 下記のサイトを参考にAccessよりリンクテーブルが作成できました。 http://www.crystal-creation.com/software/tool/office/access/external/sqlite.htm リンクテーブル先のテーブルを開き、データを編集しようと思いましたが、「レコードセットは更新できません」と表示されます。 使用しているのはWindows XP SP3になります。データを編集したいのですが、どのようにすればデータの編集ができるようになるのでしょうか?

  • SQLite C/C++ でのテーブル数の取得

    よろしくお願いします。  テーブル名「TB1332」の有無を確認するSQL 文をこのようにしました select count(*) from sqlite_master where type='table' and name='TB1332'; PupSQLite でのcount(*)の値 当該テーブルが存在する場合 1 当該テーブルが存在しない場合 0 このように正しい結果が得られます。 しかし、Visul Studio 2010 C++ で下記のコードを実行しますと、result の値は、テーブルの有無に関係なく、常に0となります。 int result = sqlite3_exec(pDb, "select count(*) from sqlite_master where type='table' and name='TB1332';", NULL, NULL, &err); C/C++ で該当する、テーブル数を取得するコードの書き方を教えていただけないでしょうか。 環境 C/C++ Visual Studio 2010 Proffesional SQLite3 PupSQLite https://www.eonet.ne.jp/~pup/software.html

  • UPDATE時のSETの実行順について

    MySQLで   UPDATE data SET item1=item2, item2=0; と書いた場合、item1にはそれまでのitem2の値が入り、item2は0になりました。 また、   UPDATE data SET item2=0, item1=item2; と書いた場合、item1、item2ともに0になりました。 これは「SETの内容は、書いた順に実行されることが保証されている」と考えてよいのでしょうか? それとも実装依存なのでしょうか?

  • MySQL UPDATE SETが失敗なのに1が返る

    MySQL UPDATE SETが失敗なのに1が返る いつもお世話になります。 MySQL5.0 PHP5 PEAR(DB)にて開発中です。 "UPDATE master SET xxx={$xxx}+1 WHERE id={$id} AND xxx={$xxx}" 上記クエリを実行し、 WHERE以下に該当しないない場合は、該当データー無しとして別の処理を行う予定です。 該当すればそのままUPDATEでいいのですが、 ここで該当無しとなれば、通常UPDATEの場合は返り値として0が戻るはずなのでが、 どうしても1が戻ってしまいます。 その為、if($res==0) として判定できず困っております。 ※もちろん、該当無しのUPDATEの場合は、テーブル内のデーターは変更されていません。 どなたか回答をお寄せ下さい。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • SQLで複数のテーブルと結合したUPDATE文

    普通のUPDATE文はUPDATEするテーブル名を一つ記入して UPDATE テーブルA SET フィールドA = 値A WHERE テーブルA.フィールドB = 値B みたいな感じですが、私のしたい事はと言うと UPDATE テーブルA,テーブルB,テーブルC SET A.フィールドA = 値A WHERE テーブルA.フィールドA = テーブルB.フィールドB AND テーブルB.フィールドB = テーブルC.フィールドC AND テーブルB.フィールドD = 値D AND テーブルC.フィールドE = 値E という具合に複数のテーブルがUPDATEするテーブルA以外のところで、互いに条件で結ばれており、FROM句でUPDATEしないテーブル名まで宣言しないといけなくなっています。そもそもこういうFROM句を使うUPDATE文は実行可能かも不明です。どなたか解決策お願いいたします。ちなみに開発ソフトはVBAを使っています。

このQ&Aのポイント
  • biglobeのタイプAを利用中です。設定時に「スマート留守電に通話が転送されませんでした。」のエラーが表示され設定が完了できません。
  • スマート留守電の設定ができない理由について調査をしましたが、biglobeのタイプAを利用している場合には「スマート留守電に通話が転送されませんでした。」というエラーが表示されることがあります。
  • スマート留守電の設定時に「スマート留守電に通話が転送されませんでした。」というエラーが表示されて設定ができない問題が報告されています。このエラーはbiglobeのタイプAを利用している場合に発生することがあります。
回答を見る