十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、将传递过来的值进行分割
成都创新互联主要从事网站制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务荣昌,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
用,分割成数组
例如:$var=explode(",",$str);
2、循环数组
3、在循环内查询sql
查询时候
有两种方法
按照sql语法或者PHP语法
sql
用
find_in_set(str1,str2);
php
用
strpos(str1,str2,start);
具体语法格式自己搜索一下吧。
我试了,导出的数据本来是有换行符号的,但是是linux格式的换行符。
用记事本打开是没法看到换行符,所以内容都连成了一行。
所以你可以有两个办法:
1.用editplus打开文件去查看。
2.用查询拼个可视分隔符在后面:
select CONCAT(name, '|') from table into outfile '/test.txt';
还是推荐你用editplus等这些比较专业的编辑器,windows自带的那个记事本除了换行有问题,要是遇上utf8编码的文件也会显示乱码,最好不要用它做数据处理。
这个应该可以使用字符串拼接,你是不是这样写存储过程:
create procedure p_proc(var_in int)
begin
delete from [tableName] where [colName] in (var_in);
end
然后又这样调用:
call p_proc(1, 2, 3);
这样肯定不行,那么你可以这样:
create procedure p_proc(var_in varchar(5000))
begin
set @sql = concat("delete from [tableName] where [colName] in (", var_in, ")");
prepare stmt_exe_sql from @sql;
execute stmt_exe_sql;
deallocate prepare stmt_exe_sql;
end
这样就相当于把(1, 2, 3)拼接成语句"delete from [tableName] where [colName] in (1, 2, 3)", 然后执行,就可以删除了。
逗号是普通符号,和数字、字母一样,可以直接作为一般字符添加到字符、文本类型的字段里面。
如果你是表名、字段名,最好建议别用逗号,偏要使用可以用``括起来。
如果以上回答无法解决你的问题,请粘贴你的语句,大家给你修改正确。
mysql手册中如是说:
IF(expr1,expr2,expr3)
如果 expr1 为真(expr1 0 以及 expr1 NULL),那么 IF() 返回 expr2,否则返回 expr3。IF() 返回一个数字或字符串,这取决于它被使用的语境:
mysql SELECT IF(12,2,3);
- 3
mysql SELECT IF(12,'yes','no');
- 'yes'
mysql SELECT IF(STRCMP('test','test1'),'no','yes');
- 'no'
如果 expr2 或 expr3 明确地为 NULL,那么函数 IF() 的返回值类型为非 NULL 列的类型。(这在选择在 MySQL 4.0.3 中新加入)。 expr1 是作为一个整数值被计算的,这就意味着,如果测试的是一个浮点型或字符串值,就必须进行比较操作:
mysql SELECT IF(0.1,1,0);
- 0
mysql SELECT IF(0.10,1,0);
- 1
在上面第一种情况下,IF(0.1) 返回 0,是因为 0.1 被转换为一个整数值,返回 IF(0) 的测试结果。这可能不是你所期望的。在第二种情况下,比较测试原浮点数是否为一个非零值。比较的结果被作为整数使用。 缺省的 IF() 返回值类型 (当结果存储在临时表中时,这是非常重要的) 在 MySQL 3.23 中按下列方式确定: 表达式 返回值
表达式(expr2)或表达式(expr3)返回值为字符串 字符串
表达式(expr2)或表达式(expr3)返回值为浮点型值 浮点型
表达式(expr2)或表达式(expr3)返回值为整型 整型
如果表达式(expr2)和表达式(expr3)均是字符串,同时两个字符串均是忽略字母大小写的,那么返回值也是忽略字母大小写的(从 MySQL 3.23.51 开始)。