MySQL:为什么我不能将多个值插入到我的表中?

标签 mysql insert

我第一次使用MySQL。我一次只能插入一个值,但如果我尝试复制/粘贴整个值列表,则会出现错误。

我有一个包含两列的表(nation),第一列是 PK (nation_id) 并设置为 INT AUTO INCREMENT,第二个是 (nation_name) 设置为 VARCHAR 100。

通过下面的语句,我得到:ERROR 1136 (21S01): Column count does not match value count at row 1

INSERT INTO nation ( nation_name )
    VALUES
    ('Afghanistan',
    'Albania',
    'Algeria',
    'Andorra',
    'Angola',
    'Antigua and Barbuda',
    'Argentina');

我做错了什么?如何在一份声明中插入完整的国家/地区列表?

最佳答案

您必须用左括号和右括号将每个值括起来,然后用逗号分隔它们:

INSERT INTO nation ( nation_name )
    VALUES
    ('Afghanistan'),
    ('Albania'),
    ('Algeria'),
    ('Andorra'),
    ('Angola'),
    ('Antigua and Barbuda'),
    ('Argentina');

关于MySQL:为什么我不能将多个值插入到我的表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59606338/

相关文章:

MySQL 表数据目录大于从 information_schema.tables 计算的大小

java - 我的 SQL 准备语句通过某个 id 获取点的总和?

MySQL从列中删除尾随换行符

SQL 2005 插入时更新列

postgresql - 连接字符串而不是仅仅替换它

c - 将一些数据插入文件的问题

mysql - MYSQL如何用相同的键求和,然后删除重复的行

mysql - 在 shell 脚本中出现错误 1064 (42000) MySQL

sql - 具有 DEFAULT 值的多行条件插入

php - 插入语句不起作用。从一张 table 转移到另一张 table