我在Using The INSERT INTO ... SET Syntax In MySQL博客中读到,您可以使用以下SET语法来插入记录。
例子:
INSERT INTO mytable SET col1= 'val1', col6= 'val6', col10='val10';
INSERT INTO mytable SET col3= 'val3', col5= 'val5', col10='val10';
INSERT INTO mytable SET col4= 'val4', col5= 'val5', col6='val6';
Run Code Online (Sandbox Code Playgroud)
是否可以仅用 1 条语句插入多行?
不可以,该INSERT ... SET语法不能用于插入多行。如果您查看此处的INSERT ... SET语法,您会看到:
Run Code Online (Sandbox Code Playgroud)INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] SET assignment_list [ON DUPLICATE KEY UPDATE assignment_list]
旁边:
Run Code Online (Sandbox Code Playgroud)assignment: col_name = value assignment_list: assignment [, assignment] ...
只能提供 1 assignment_list(值列表),因此只能插入一行。
对于询问和之间差异的问题的评论也表明了这一点。INSERT ... SETINSERT ... VALUES