Skip to content

Latest commit

 

History

History
25 lines (17 loc) · 1.12 KB

3.2.04_UPDATE.md

File metadata and controls

25 lines (17 loc) · 1.12 KB

3.2.4 UPDATE

3.2.4.1 Syntax

UPDATE table_reference

SET col_name1={expr1} [, col_name2={expr2}] ...

[WHERE where_condition]

3.2.4.2 举例

UPDATE  test SET VALUE =1 where id=5;

3.2.4.3 限制

  • 原则上UPDATE语句中的where_condition部分只允许出现简单的条件,不能支持计算表达式以及子查询
  • 原则上不支持多表Join 的UPDATE
  • 存在特例,当update满足以下判断条件时,部分复杂DELETE语句会在确保数据正确的情况下被下发执行
    • 包括update/delete语句操作多表的时候,【操作的全是全局表,并拥有同样的分片范围,并且where条件中不含有子查询】或 【所有操作的表都有条件显式路由到同一个节点,并且where条件不含有子查询】
    • 包括update/delete语句操作单表,但是where条件中包含子查询时,【被操作的表格是单节点表,where条件中的所有表格都有条件能路由到同一个节点】或 【被操作的表格是全局表,其余所有表格也都是全局表,并且涉及范围都能覆盖被操作的表格】