MYSQL update语句问题1
的有关信息介绍如下:问题补充说明:题目是这个: UPDATE语句(利用一个表中的数据修改另外一个表中的数据)利用Part表中的零售价格来修改lineitem中的extendedprice,其中extendedprice=part.retailprice * quantity。然后我的代码是这个 UPDATE LINEITEM SET L_EXTENDEDPRICE=P_RETAILPRICE*L_QUANTITY FROM PART WHERE L_PARTKEY=P_PARTKEY;结果显示语法错误,但是语法没问题啊然后我又这样弄了UPDATE LINEITEMLEFT JOIN PART ON L_PARTKEY=P_PARTKEYSET L_EXTENDEDPRICE=P_RETAILPRICE*L_QUANTITY;这样根本就没有任何的反应,得按Ctrl C 才有反应,但是依旧不成功我之前是用了下面的代码成功了,但是现在也不行了,和上一个反应是一样的UPDATE LINEITEM AS L, PART AS PSET L_EXTENDEDPRICE=P_RETAILPRICE*L_QUANTITYWHERE L_PARTKEY=P_PARTKEY; 未成功上一次成功的图所以这到底是为什么???求大佬指导!!!
你去看下mysql来自update语法说明,信并送你的
UPDATELINEITE360问答M
SETL_EXTENDEDPRICE=P_RETAILPRICE*L_QUANTITY
FROMPART
WHEREL_PARTKEY=P_PARTK斯二轻EY;
是错的,你一定要按标准的语法规则,不能想当然的(语法就是有问题)
单表语法(来自mysql5.7官网手册)
UPDATE[LOW_PRIORITY][IGNORE]table_reference
SETassignment_list
[W效县HEREwhere_cond干构转试英下永助换守ition]
[ORDERBY...]
[LIMITrow_count]
value:
{expr使航范见作口帮|DEFAULT}
assignment:
col_name=val报印ue
assignment_list:
assignment[,assignm欢离承少率教品药ent]...
多表的:
UPDATE[LOW_PRIORITY][IGNO移社杨八承套得李RE]table_穿样班晚只座坐references
SETassignment_list
[WHEREwhere_condition]
除非条件中有组合款族查询,否则update中不可能有FROM的