【问题标题】:SQL: 1292 Truncated incorrect DOUBLE value: 'https://twitter.com/'SQL:1292 截断不正确的 DOUBLE 值:'https://twitter.com/'
【发布时间】:2018-05-17 10:50:48
【问题描述】:

我正在对 MariaDB 进行非常简短的查询,以修复到 twitter 的断开链接。

表用户的 link_twitter 为 VARCHAR(255),我们使用 PHP Doctrine 生成 DB 模式,但我想手动运行此查询。

服务器正在运行 MariaDB 1.10

查询:

UPDATE
    `user` AS u
SET
    u.link_twitter = "https://twitter.com/" + u.link_twitter
WHERE
    u.link_twitter NOT LIKE 'https://twitter.com/%';

但我收到“查询错误:(1292):截断不正确的 DOUBLE 值:'https://twitter.com/'”

我知道,这个问题在过去被问了很多,但没有一个解决方案对我有用。 :-(

请问,我该如何解决?

谢谢

【问题讨论】:

    标签: php sql doctrine mariadb mysql-error-1292


    【解决方案1】:

    使用正确的字符串连接方法:

    UPDATE user u
        SET u.link_twitter = CONCAT('https://twitter.com/', u.link_twitter)
        WHERE u.link_twitter NOT LIKE 'https://twitter.com/%';
    

    + 表示 MariaDB/MySQL(和大多数数据库)中的添加。因此,它试图将其参数视为数字。

    【讨论】:

    • 谢谢你,我觉得自己很笨。但有时最简单的错误是最难修复的。 :D
    • @VojtaMareš,实际上有些数据库使用+ 进行连接。
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2020-10-26
    • 2013-04-11
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多