php
  • mysql
  • sql
  • 2014-04-29 2 views -1 likes 
    -1

    Я не могу понять это. У меня есть эта переменная (например):Как обновить запись в sql?

    $level_building = "test,"; 
    

    и это SQL строка:

    mysql_query("UPDATE info_buildings SET building='$level_building' + building WHERE nick='$nick'") or die(mysql_error()); 
    

    все, что я хочу сделать, это добавить новый текст test, после существующего текста, но после его обновления, SQL-шоу 0 (building=0) .. Мой вывод sql должен выглядеть так: test,test,test, ... Пример: building=test,test,test, и каждый раз, когда я использую строку sql UPDATE, он должен написать новый текст test в той же строке building .. Извините за плохой английский. Надеюсь, вы понимаете это ,

    ответ

    1

    В MySQL + предназначен для арифметического добавления. Для конкатенации строк используйте CONCAT():

    UPDATE info_buildings 
    SET building = CONCAT('$level_building', building) 
    WHERE nick = '$nick' 
    

    Все строковые функции MySQL можно найти here.

    Однако я рекомендую вам пересмотреть дизайн стола. Помещение разделенных запятыми списков в одном столбце, как правило, плохой дизайн. Вы должны использовать отдельную таблицу со строкой для каждого значения.

    +0

    Спасибо, брат !!! Вы спасли меня!! Я так счастлив сейчас, благодаря вам :) – user3292639

    Смежные вопросы