关于MYSQL数据库操作的问题——超简单直接轻松拿70分
数据表中,一字段格式是:1,2,3,4,5,6
怎么删除掉选定的那个?
比如我需要删除里面的3,变成:1,2,4,5,6
SQL语句怎么写?????????????
如果我要往这个字段添加一个6.但由于原来已经存在6这个值,不能重复添加。
但我们看不到,只好写程序判断,请问又是如何用SQL语句,来判断已经存在6这个值。
怎么删除掉选定的那个?
比如我需要删除里面的3,变成:1,2,4,5,6
SQL语句怎么写?????????????
如果我要往这个字段添加一个6.但由于原来已经存在6这个值,不能重复添加。
但我们看不到,只好写程序判断,请问又是如何用SQL语句,来判断已经存在6这个值。
作者: zilingzhi 发布时间: 2011-05-08
直接SQL操作——不懂。。。
PHP解决办法:
PHP code
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是否存在。
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