V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Lucius
V2EX  ›  PHP

初学PHP想询问一个mysql语句

  •  
  •   Lucius · 2013-02-07 12:16:13 +08:00 · 3661 次点击
    这是一个创建于 4308 天前的主题,其中的信息可能已经有所发展或是发生改变。
    从address表中找到为$data['customer_id']的项
    并且把这些项中最大的address_id更新到customer表中相同$data['customer_id']中的address_id

    address表中$data['customer_id'] 项是有重复的
    customer表中的$data['customer_id']是不重复唯一的
    8 条回复    1970-01-01 08:00:00 +08:00
    sivacohan
        1
    sivacohan  
       2013-02-07 12:39:40 +08:00 via Android
    大家都不回复,为了壮大我php阵营,我跟你几个提示。
    一,看看“提问的艺术“
    二,对于sql的问题,你应该提供数据库的表。
    三,你这个问题,我看了几分钟,没看明白,主要一个问题,你把自己的程序和数据库混在一块说了。考虑一下,怎么样才能清晰的表达问题。
    四,看上去,你是想要写一个数据库操作,类似存储过程或者触发器。建议你用一天的时间看看,mysql必知必会。
    五,好好学吧!
    firsthym
        2
    firsthym  
       2013-02-07 16:33:12 +08:00
    你现在address表中查询where customer_id = 1,同时降序排列,取第1个就是最大的address_id

    然后,你再将这个address_id更新到customer表中 customer_id=1的记录里面

    以上方法应该是要touch数据库2次。

    如果你是想一次搞定的sql,可以考虑建个存储过程。

    我sql不行,仅供参考。
    zj0713001
        3
    zj0713001  
       2013-02-07 18:19:21 +08:00
    update customer set customer.address_id = (select max(address.id) from address where address.customer_id = customer.id)

    楼主是想实现这个功能么 也许我理解的不对 楼主可以把需求再说详细点哈
    Lucius
        4
    Lucius  
    OP
       2013-02-07 18:23:34 +08:00
    Have done!! 感谢以上各位的解答~~ O(∩_∩)O
    saharabear
        5
    saharabear  
       2013-02-07 19:45:24 +08:00   ❤️ 2
    我觉得这个帖子可以拿出来鞭尸了,比如,一句Have done不仅没有看过“提问的艺术”,而且对这个帖子的意义完全让人有一种“无助”感。
    geo5078
        6
    geo5078  
       2013-02-20 08:47:05 +08:00
    anythink
        7
    anythink  
       2013-02-20 14:41:07 +08:00
    楼上的楼上的楼上的楼上已经说了
    fork3rt
        8
    fork3rt  
       2013-02-20 15:00:34 +08:00
    mysql必知必会。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2672 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:15 · PVG 13:15 · LAX 21:15 · JFK 00:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.