您可以使用UPDATE语法修改表中符合条件的行。
语法
- 单逻辑表
UPDATE [LOW_PRIORITY] [IGNORE] [schema_name.]tbl_name SET assignment_list [WHERE where_condition] value: {expr | DEFAULT} assignment: col_name = value assignment_list: assignment [, assignment] ... - 多逻辑表
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET assignment_list [WHERE where_condition]
说明
- UPDATE支持如下修饰符:
- 若设置LOW_PRIORITY,UPDATE操作将在该表没有任何读操作之后执行。
- 若设置IGNORE,将会忽略更新过程中的错误,即更新不会被错误中断。
- UPDATE语句中的修饰符均会原样下推至存储层MySQL,不会对PolarDB-X 1.0的修饰符操作产生影响。
语法限制
与原生MySQL的UPDATE语法相比,PolarDB-X 1.0的UPDATE语法存在以下限制。
- 不支持在SET子句中使用子查询(相关子查询和非相关子查询),例如:
UPDATE t1 SET name = (SELECT name FROM t2 WHERE t2.id = t1.id) WHERE id > 10; - 默认禁止更新行数超过10000的不可下推的UPDATE,需要通过HINT打开限制,例如:
UPDATE t1 SET t1.name = "abc" ORDER BY name LIMIT 10001; UPDATE t1, t2 SET t1.name = t2.name WHERE t1.id = t2.name LIMIT 10001;说明
t1和t2的拆分键为ID。
相关文献
MySQL UPDATE语法。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




