SQL: 1292 Усеченное неверное значение DOUBLE: 'https://twitter.com/' - PullRequest
0 голосов
/ 17 мая 2018

У меня очень короткий запрос к MariaDB, чтобы исправить неработающие ссылки на твиттер.

Пользователи таблиц имеют link_twitter в виде VARCHAR (255), для генерации схемы БД мы используем PHP Doctrine, но я хочу выполнить этот запрос вручную.

Сервер работает 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/' '

Я знаю, что этот вопрос часто задавался в прошлом, но ни одно из решений не помогло мне. : - (

Пожалуйста, как мне это исправить?

Спасибо

1 Ответ

0 голосов
/ 17 мая 2018

Используйте правильный метод конкатенации строк:

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 (и большинство баз данных).Следовательно, он пытается рассматривать свои аргументы как числа.

...