想把数据库中所有表和字段都检索一下,所有包含 abc 的内容都替换成 def这样的SQL语句怎么写,能实现吗?谢谢

解决方案 »

  1.   


    编写存储过程,取值information_schema.COLUMNS,循环结果集动态执行 update tableName set columnName='abc' where locate('def', columnName) > 0
      

  2.   

    没有这样的SQL语句,要用SP,打开系统表,取得所有表名及列名,再用字符串累计生成SQL语句再执行的方法
      

  3.   

    只能使用基于MYSQL动态SQL的存储过程实现 ,大体思路:
    先从系统表中或目标数据库的所有表信息(名称,结构),存放于游标之中,循环遍历游标,在游标中判断是否包含abc,如果包含 则使用动态SQL语句执行修改操作 。不知你是使用一次还是多次?如果仅执行一次,可以先备份数据数据,之后直接使用记事本或其他编辑器 查找替换实现不是更加简单 ?
      

  4.   

    要通过存储过程来做了,在系统表中information_schema.columns查询取得列名、表名,
    可以遍历一下包含 abc 的内列,然后替换掉。