两个表
分别是表aaaa和bbbb
其中表aaaa为id  name
1 zhangjun
2 wangqiang
3 hefeng表bbbbid name1

2
3希望用substring 截取表aaaa的name列的前两个字母,填入到表bbbb相应的id后name1里,希望结果如下:
表bbbbid name1
1  zh
2  wa
3  he多谢各位大神了!

解决方案 »

  1.   

    要在phpmyadmin的后台的bbbb表的SQL里运行
      

  2.   

    UPDATE `bbbb` SET `name1` = (SELECT substring(`name`,1,2) FROM `aaaa` WHERE `id` = 3 )
    我写的这个不对,我需要把相应的id各自更新,上面的把id=3的更新给所有的了 不会关联查询
    id name1
    1  he
    2  he
    3  he
      

  3.   

    update 表bbbb inner join 表aaaa on 表bbbb.id= 表aaaa.id
    set 表bbbb.name1=LEFT(表aaaa.name,2)
      

  4.   

    多谢版主!
    代码运行的很好,运行后数据就变了!我写了个trigger 在phpmyadmin的sql窗口运行:
    [code=sql]
    create trigger update_bbbb_custom_fields 
    after update  on aaaa
    for each row
    begin
    update bbbb inner joinaaaa on bbbb.id = aaaa.id
    set bbbb.name1 = substring(`name`,1,4);
    end然后我写了个trigger,在phpmyadmin的SQL窗口运行,显示正常,然后我登录系统,修改aaaa表的name(tab number),但是bbbb表的name1(memery)数据确没变:不知道为什么,我是root权限,前后运行都没有显示错误。
    谢谢!
      

  5.   

    [code=sql] 是标签没有弄好,不是trigger的内容,不好意思。
      

  6.   

    update bbbb as b,aaaa as a  set b.name1=SUBSTRING(a.name,1,2) where a.id=b.id;