Skip to content

Latest commit

 

History

History
45 lines (25 loc) · 1.24 KB

3.2.01_INSERT.md

File metadata and controls

45 lines (25 loc) · 1.24 KB

3.2.1 INSERT

3.2.1.1 Syntax

INSERT [INTO] tbl_name

[(col_name,...)]

{VALUES | VALUE} ({expr },...),(...),...

[ ON DUPLICATE KEY UPDATE

col_name=expr

[, col_name=expr] ... ]

OR

INSERT [INTO] tbl_name

SET col_name={expr | DEFAULT}, ...

[ ON DUPLICATE KEY UPDATE

col_name=expr [, col_name=expr] ... ]

3.2.1.2 举例

insert into test (col1,col3) values(1,'cust1'),(2,'cust2');
insert into test (col1,col3) values(default,'cust3');
insert into test set col1=4,col3='cust4';
insert into test set col1=default,col3='cust5';
insert into test (col1,col3) values(default,cast(now() as char));

3.2.1.3 限制

  • 在插入ER关系的子表时,每个语句之允许插入一个ROW

  • 全局序列在插入时不允许指定值,全部由dble序列生成

  • 对于含有枚举类型的分片表,比如表结构:CREATE TABLE  `test` (`id` enum('1','2','3') DEFAULT '1'),在插入id列时,既可以使用枚举值插入,也可以使用枚举值的下标,'1'的下标是1,以此类推。若用户以枚举值进行分片,但是插入时确使用枚举值下标,因为dble不会将下标转换为枚举值,所以分片会出现问题,详细可参考issue : https://github.com/actiontech/dble/issues/816。