Noはアクセステーブルの主キーであることに注意してください
レコードNo=290のIDを11に変更したいと思っています。以下の2文を実行しても変化はありません
$query = "update sensors set ID= 11 where No=290";
$result =$conn->Execute($query);
------------------------- ------- -------------
ただし、次の 2 つの文は実行後も有効で、type=49 のレコード ID を 11 に変更できます
$query = "update sensors set ID=11 where type= 49";
$result =$conn->Execute($query);
------------------------ ---------- ------------------
主キーの値を引用符で囲むことが機能しない理由を知りたいですか?
これを試してください:
センサー セット ID=11 を更新します (No=290 および type=49)
主キーが繰り返されていますか~
これを試してください:
センサー セット ID を更新=11 where No=290 and type=49
主キーは繰り返されていますか~
システムによって自動的に追加された主キーは一意であり、重複する値は存在できません
次の文は OK (XXXXXX は特定のフィールドです)更新する必要があります)
センサーを更新する XXXXXXXX (ID=15、type=48、prop=0)
これを試してください:
センサーを更新する ID=11 (No=290、type=49)
そうですか? 主キーは繰り返されます ~
主キーはシステムによって自動的に追加され、重複する値はありません
次の文は OK です (XXXXXX は更新する必要がある特定のフィールドです)
更新センサーは ID=15、type=48、prop=0 で XXXXXXXX を設定します
select * from sensors where No=290 見てください
type フィールドは文字型ですか?代わりに次のようにします
update sensors set ID=11 where type='49'
no はアクセスの予約語です (http://office.microsoft.com/zh-cn/access-help/HA010030643.aspx を参照)
識別子を選択するときに避けるべき予約語です名前
使用されている場合とそうでない場合 変更するのが便利な場合は、角括弧で囲んでエスケープする必要があります
$query = "update sensors set ID=11 where [No]=290";アクセスの予約語 (http://office.microsoft.com/zh-cn/access-help/HA010030643.aspx を参照)
使用されており、アクセスに不便な場合変更する場合はエスケープする必要があります: 角括弧で囲みます
$query = "update sensors set ID=11 where [No]=290";
テストしたところ、上記のように No が予約語であることは事実です。正しい結果を得るには、角かっこで囲んでください。結果はこちらです。ありがとうございます。投稿に対してポイントを差し上げます。 〜