更新行而不获取

时间:2019-02-06 07:42:04

标签: mysql

表名称= table_company

 id Company_name    
  1 Google, Amazon //This can be any order
  2 Flipkart, Yahoo

我有一个数组格式的变量

$ companies = ['Google','Flipkart'] //以任意顺序

我想通过在其中id {= 1的地方添加$companies来更新company_name列。

  1. 是否可以在不获取数据的情况下更新列?
  2. company_name可以按任何顺序

    例如:Google,Amazon 例如:亚马逊,Flipkart 例如:亚马逊,谷歌

  3. 公司名称应唯一。

  4. FIND_IN_SET和LOCATE将从值的开头到结尾匹配

我正在那样使用-

   DB::unprepared                                                          
       ("         

            UPDATE  table_company SET

            Company_name = CASE WHEN INSTR(Company_name,'$companies[0]') > 0 THEN Company_name ELSE CONCAT(Company_name,',','$companies[0]') END,

            Company_name = CASE WHEN INSTR(Company_name,'$companies[1]') > 0 THEN Company_name ELSE CONCAT(Company_name,',','$companies[1]') END

            where id = 1;


       ");

代替两次编写查询或多次查询,可以一次编写一次查询来解决吗?

id          Company_name


   1        Google, Amazon, Flipkart        
   2        Flipkart, Yahoo

0 个答案:

没有答案