使用php/mysql或codeigniter以多行形式显示Concat字符串
我想在多行上用约束将相同的值连接到一个字段 使用php/mysql,我将执行以下操作:使用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' 您知道如何在不使用多个查询的情况下执行此操作
$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);"
这是一个真正糟糕的维持关系的方式!使用交叉引用表代替。