写法1:update sas_order_supply_month_pay set RECEIVE_TIME=REPLACE(RECEIVE_TIME,DATE_FORMAT(RECEIVE_TIME,'%Y-%m-%d'),(select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' and CREATE_TIME like '%2017-07-12%')) where ORDER_CODE='PO201707130115';
写法2:update sas_order_supply_month_pay set RECEIVE_TIME= ADDTIME ((select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' and CREATE_TIME like '%2017-07-12%')+interval 0 hour,time(RECEIVE_TIME)) where ORDER_CODE='PO201707130115';
写法3:update sas_order_supply_month_pay set RECEIVE_TIME = concat((select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' and CREATE_TIME like '%2017-07-12%'),' ',DATE_FORMAT(RECEIVE_TIME,'%H:%i:%S')) where ORDER_CODE='PO201707130115';
설명: sas_order_supply_month_pay 테이블의 RECEIVE_TIME 필드 형식은 "2017-06-16 12:13:16"이고 sas_task_supply_month_pay_기간 테이블의 PERIOD_END 필드 형식은 "2"입니다. 017-07- 1 2",
실행 후 RECEIVE_TIME은 "2017-07-12 12:13:16"으로 변경됩니다.
错误写法:update sas_order_supply_month_pay set RECEIVE_TIME = DATE_FORMAT(concat((select PERIOD_END from sas_task_supply_month_pay_period where belong='1729' and CREATE_TIME like '%2017-07-12%'),' ',(select DATE_FORMAT(RECEIVE_TIME,'%H:%i:%S') from sas_order_supply_month_pay where ORDER_CODE='PO201707130115')),"yyyy-MM-dd %H:%i:%S") where ORDER_CODE='PO201707130115';
잘못된 쓰기 오류: [Err] 1093 - FROM 절에서 업데이트할 대상 테이블 'sas_order_supply_month_pay'를 지정할 수 없습니다.
오류 분석:
오류 설명: (select DATE_ 에프 ORMAT(RECEIVE_TIME,'%H:%i:%S') from sas_order_supply_month_pay 여기서 ORDER_CODE='PO201707130115')
이 성명은 단독으로 실행하는 것은 가능하지만 함께 실행하면 오류가 보고됩니다. 수정된 테이블과 하위 쿼리는 동일한 테이블이 될 수 없습니다.
위 내용은 시간, 분, 초를 변경하지 않고 시간 필드를 MYSQL로 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!