zoukankan      html  css  js  c++  java
  • MySql如何将一个表字段更新到另一个表字段

    今天遇到这样一个需求:

    有两张表,一张是专辑表,另一张是专辑下的图片表,

    专辑表中有拍摄年月,两个字段; 图片表中有实际拍摄日期的字段;

    因为专辑表中这两个字段是后加入的,因此只能用一条sql语句将之前程序没有写入的拍摄年月增加进入;

    其实这个问题很简单,所以毫不犹豫采用了 以下模式进行更新,

    UPDATE streetphoto a 
    SET a.`year` = YEAR(photos.`shootdate`), 
    a.`month` = MONTH(photos.`shootdate`)
    FROM photos WHERE a.`id` = photos.`refid` AND photos.`moduleid` = 4 AND photos.`iscover` = 1

    结果发现,Mysql竟然不吃这一套还明晃晃的给我抛出个语法错误,

    如图:

    然后沉默中它就是不告诉你为啥错误,反正它是错了,你自己想办法吧

    那好吧,此路不通就换一个办法,所以下面的方法执行毫无问题;

    UPDATE streetphoto, photos
    SET streetphoto.`year` = YEAR(photos.`shootdate`),
    streetphoto.`month` = MONTH(photos.`shootdate`)
    WHERE streetphoto.`id` = photos.`refid` AND photos.`moduleid` = 4 AND photos.`iscover` = 1

    成功通过.

  • 相关阅读:
    vsync信号产生与分发
    推荐看过不错的博客及网站
    证明质数有无数个
    242 Valid Anagram
    169 Majority Element
    快速排序--quicksort
    插入排序
    选择排序
    冒泡排序
    指针函数 函数指针 回调函数
  • 原文地址:https://www.cnblogs.com/mcqueen/p/9649672.html
Copyright © 2011-2022 走看看