关于MYSQL数据库操作的问题——超简单直接轻松拿70分

数据表中,一字段格式是:1,2,3,4,5,6

怎么删除掉选定的那个?

比如我需要删除里面的3,变成:1,2,4,5,6

SQL语句怎么写?????????????

如果我要往这个字段添加一个6.但由于原来已经存在6这个值,不能重复添加。
但我们看不到,只好写程序判断,请问又是如何用SQL语句,来判断已经存在6这个值。

作者: zilingzhi   发布时间: 2011-05-08

直接SQL操作——不懂。。。
PHP解决办法:
PHP code
$sql = 'SELECT `test` FROM `tbl` WHERE ...';
$result = $mysqli->query($SQL);
$row = $result->fetch_array();
$arr = explode(',',$row['test']); //字段数据转换为数组

//删除
if (array_search('3',$arr)) unset($arr[array_search('3',$arr)]);
$arr = array_values($arr);
//添加
$arr[] = '6';
$arr = array_unique($arr);

//更新
$sql = 'UPDATE `tbl` SET `test` = "'.implode(',',$arr).'" WHERE ...';

作者: T5500   发布时间: 2011-05-08

抛块儿砖:


MySQL不支持正则替换,所以只能用replace()这个笨办法。
为了方便处理,建议将字段修改一下,使每个值的前后都跟一个“,”。

然后用:
UPDATE table SET field = REPLACE(',1,2,3,4,5,6,', ',3,', ',');
修改。

用:
SELECT * FROM table WHERE field LIKE '%,6,%'
判断6是否存在。

作者: wasuka   发布时间: 2011-05-08