mysql - 使用 insert SET 语法可以插入多行吗?

标签 mysql sql insert

我已在 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';

是否可以只用 1 条语句插入多行?

最佳答案

不可以,INSERT ... SET 语法不能用于插入多行。如果您查看 INSERT ... SET 语法 here你会看到:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    SET assignment_list
    [ON DUPLICATE KEY UPDATE assignment_list]

旁边:

assignment:
    col_name = value

assignment_list:
    assignment [, assignment] ...

只能提供 1 个 assignment_list(值列表),因此您只能插入一行。

这也显示在 this comment 上关于询问 INSERT ... SETINSERT ... VALUES 之间差异的问题。

关于mysql - 使用 insert SET 语法可以插入多行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54646005/

相关文章:

mysql - 在 phpmyadmin 中导入时如何跳过重复记录

mysql - 使用主键分块从大表中删除时仍然看到锁定等待超时

sql - 我在返回VARCHAR(4)旁边不断收到错误消息

mysql - 如何在单个查询中执行复杂的插入、选择、更新?

C++ DBI 类 - 最佳/对开发人员最友好的风格

c# - SQL INSERT 奇怪地跳过第一条记录

java - SQL 请求 - 具有多个空值的 SELECT

使用 Order by Clause 的 Mysql 性能非常慢

php - 向mysqli数据库中插入数据

php - 使用 PHP 插入自定义 Postgres 数据类型