Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php/mysql或codeigniter以多行形式显示Concat字符串_Php_Mysql_Codeigniter_Concat - Fatal编程技术网

使用php/mysql或codeigniter以多行形式显示Concat字符串

使用php/mysql或codeigniter以多行形式显示Concat字符串,php,mysql,codeigniter,concat,Php,Mysql,Codeigniter,Concat,我想在多行上用约束将相同的值连接到一个字段 使用php/mysql,我将执行以下操作: $newdata = '33'; $sql = 'UPDATE users set relation=concat(relation,$newdata) WHERE user_id IN (22, 31, 54)'; 当关系字段为空时,此查询是可以的,但如果字段不为空(f.e relation:'8,56,78'),我还想用coma连接'33' 您知道如何在不使用多个查询的情况下执行此操作

我想在多行上用约束将相同的值连接到一个字段

使用php/mysql,我将执行以下操作:

$newdata = '33';

$sql = 'UPDATE users set relation=concat(relation,$newdata) 
       WHERE user_id IN (22, 31, 54)';
当关系字段为空时,此查询是可以的,但如果字段不为空(f.e relation:'8,56,78'),我还想用coma连接'33'

您知道如何在不使用多个查询的情况下执行此操作吗? 我想知道在codeigniter中是否也有这样做的方法


谢谢大家!

尝试此查询,如果字段中没有数据,则在这种情况下也可以使用

$newdata = '33';

UPDATE users set relation = IFNULL (CONCAT( relation , $newdata ), $newdata) WHERE user_id IN (22, 31, 54)
SQL具有IF语句:

"UPDATE users set relation= 
    CASE WHEN relation = '' 
        THEN $newdata 
        ELSE concat(relation,$newdata) 
    END
 WHERE user_id IN (22, 31, 54);"

这是一个真正糟糕的维持关系的方式!使用交叉引用表代替。