Lucius
V2EX  ›  PHP

初学PHP想询问一个mysql语句

  •  
  •   Lucius · Feb 7, 2013 · 4405 views
    This topic created in 4869 days ago, the information mentioned may be changed or developed.
    从address表中找到为$data['customer_id']的项
    并且把这些项中最大的address_id更新到customer表中相同$data['customer_id']中的address_id

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

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

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

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

    我sql不行,仅供参考。
    zj0713001
        3
    zj0713001  
       Feb 7, 2013
    update customer set customer.address_id = (select max(address.id) from address where address.customer_id = customer.id)

    楼主是想实现这个功能么 也许我理解的不对 楼主可以把需求再说详细点哈
    Lucius
        4
    Lucius  
    OP
       Feb 7, 2013
    Have done!! 感谢以上各位的解答~~ O(∩_∩)O
    saharabear
        5
    saharabear  
       Feb 7, 2013   ❤️ 2
    我觉得这个帖子可以拿出来鞭尸了,比如,一句Have done不仅没有看过“提问的艺术”,而且对这个帖子的意义完全让人有一种“无助”感。
    geo5078
        6
    geo5078  
       Feb 20, 2013
    anythink
        7
    anythink  
       Feb 20, 2013
    楼上的楼上的楼上的楼上已经说了
    fork3rt
        8
    fork3rt  
       Feb 20, 2013
    mysql必知必会。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3268 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 12:17 · PVG 20:17 · LAX 05:17 · JFK 08:17
    ♥ Do have faith in what you're doing.