【问题标题】:How to update psql table using php?如何使用 php 更新 psql 表?
【发布时间】:2018-08-02 18:56:39
【问题描述】:

我想要什么? 我想使用PHP更新数据库表变量

我的查询:

UPDATE users SET access_token = ‘V3VIANGT2qiOYVPOcDpoOBW7gX468YnhYCRa85Htn3tSWhFg9xqU8vZCCTMBGEUB056pEdA0dQ3Hp3pdTL08HOTI3P6pdeP3w3wNQPvgZDZDEAALMor5nBJgBABtXay2JCU7lN102L6ZCq58adeoPPwYoQHqvAvuWZCz6H8NtoBool’;

(组成的令牌字符串)

结果:

UPDATE error : column does not exist

ERROR:  column "‘V3VIANGT2qiOYVPOcDpoOBW7gX468YnhYCRa85Ht" does not exist
LINE 1: UPDATE users SET access_token = ‘V3VIANGT2qiOYVPOcDpoOBW7gX46...

这是最大字符串长度的问题吗?

因为数据库中的当前值是相同的长度。我只是没有通过sql命令插入,而是通过php

【问题讨论】:

    标签: php sql-update psql


    【解决方案1】:

    每当您更新数据库时,请记住我们需要指定两个列标题。

    想象表user是这样的:

    ╭───╥───────────┬───────┬────────────────╮
    │   ║  name     │  id   │ access_token   │
    ╞═══╬═══════════╪═══════╪════════════════╡
    │ 1 ║ user_1    │ 3453  │ V3VIANGT2qiO   │
    │ 2 ║ user_2    │ 5435  │ YI$97jwkiw98   │
    │ 3 ║ user_3    │ 5432  │ HJU2kasjk2kk   │
    └───╨───────────┴───────┴────────────────┘
    

    UPDATE user SET access_token='OImjsw23kmn43' WHERE name='user_1';

    其他明智的数据库将无法理解要更新哪个access_token 变量。

    【讨论】:

      【解决方案2】:

      确保您使用的是单引号,而不是反引号。 (如果您使用美式键盘,单引号在双引号上方,反引号在双引号旁边)

      【讨论】:

      • 我实际上都试过了,但都遇到了同样的错误
      • 运行 update users set access_token = 'hello' 会发生什么
      • 我收到同样的错误。所以这不是字符串长度问题。
      • 您是在命令行中使用 psql 来运行此更新命令吗? Windows/Linux/OS X?
      • 是的。原来这是你第一次提到的单引号问题。我直接复制和粘贴 psql 文档的命令,然后在编辑后将其粘贴到终端中。不知何故,我的报价类型转换了。解决方案是从文档中复制,直接粘贴到终端,然后在那里编辑查询。
      猜你喜欢
      • 2012-08-01
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 2014-12-24
      相关资源
      最近更新 更多