兩張表關聯修改數據錯誤sql
兩張表關聯修改數據時,若是被修改字段是由某個表中原來數據運算後數據,那麼兩張表關聯的字段,必須有個是惟一的。it
若是兩張表關聯的字段都不惟一,會致使數據混亂。date
好比三張表,order orderitem orderoperatesql語句
order與orderitem,order與orderoperate都是一對多的關係。數據
分別有以下字段:ant
order: idjoin
orderitem:id orderId quantity錯誤
orderoperate:id orderId orderItemId quantityopera
若是是下面的sql語句:
sql=update orderitem t left join orderoperate t1 on t.orderId=t1.orderId
set t.quantity=t.quantity+t1.quantity
數據就會出現混亂;
關聯關係改成t.id=t1.orderItemId就能夠了。