Chinaunix

标题: Concat函数中包含转义符 [打印本页]

作者: lpc002000    时间: 2008-08-04 16:06
标题: Concat函数中包含转义符
在存储过程中包含这样一个语句:CONCAT('custname=\'',in_custname,'\'')
目的是构造一个where字句。custname是一个varchar型的便利,in_custname是一个输入参数。
想根据输入参数 构造一个类似于  custname='zhangshang'的语句;

现在在调用该存储过程的时候报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

请各位大侠帮忙看一下,这个问题应该怎么处理? 非常感谢!
作者: yueliangdao0608    时间: 2008-08-04 16:10
CONCAT('custname= ''',in_custname,'''')
作者: lpc002000    时间: 2008-08-04 16:49
太感谢了!

再请教一个问题,存储过程中能把select语句的查询结果写入一个单独的文件吗?
作者: yueliangdao0608    时间: 2008-08-04 16:51
原帖由 lpc002000 于 2008-8-4 16:49 发表
太感谢了!

再请教一个问题,存储过程中能把select语句的查询结果写入一个单独的文件吗?



用select ... into outfile ...,其中的注意事项见手册!
作者: lpc002000    时间: 2008-08-04 17:38
谢谢!

这条命令写入的是一个文件,多次执行就会说文件已存在

有没有可能多条select语句的查询结果不断追加到同一个文件呢?
作者: yueliangdao0608    时间: 2008-08-04 19:47
原帖由 lpc002000 于 2008-8-4 17:38 发表
谢谢!

这条命令写入的是一个文件,多次执行就会说文件已存在

有没有可能多条select语句的查询结果不断追加到同一个文件呢?



用SHELL脚本实现吧。mysql至今还不能实现你的需求`
作者: lpc002000    时间: 2008-08-05 10:09
在shell脚本下执行:/home/work/local/mysql/bin/mysql -uuser -p test_db < data.sql
在mysql端执行source data.sql有什么区别呢?


我只知道在mysql端执行set names utf8可以解决中文问题,在shell端的命令应该如何加入set names utf8呢?  谢谢!
作者: yueliangdao0608    时间: 2008-08-05 11:04
原帖由 lpc002000 于 2008-8-5 10:09 发表
在shell脚本下执行:/home/work/local/mysql/bin/mysql -uuser -p test_db < data.sql
在mysql端执行source data.sql有什么区别呢?


我只知道在mysql端执行set names utf8可以解决中文问题,在shell端的命 ...



mysql ...  --default-character-set=utf8 < ...




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2