mysql - 一种从一个表中选择字段并将其插入到另一个表中的方法?

标签 mysql insert-into

我有两个表,TableA 和 TableB

TableA有9个字段 TableB有7个字段

两个表中有 2 个字段(id 和 name)相同,有没有办法从 TableA 中仅选择这两个字段并将它们插入到 TableB 中?

我查看了使用此语句的 INSERT INTO...SELECT 方法:

INSERT INTO TableB
SELECT id, name
FROM TableA
WHERE id = 1

但是我得到以下错误:

#1136 - Column count doesn't match value count at row 1

我假设此错误不允许我仅将 2 个字段插入表中?如果是这样,是否有解决此问题或替代方法的方法?

谢谢

最佳答案

尝试:

INSERT INTO TableB(id, name)
SELECT id, name FROM TableA where id = 1;

必须假设 TableB 中的列名称与 TableA 匹配,否则您需要输入正确的名称。

关于mysql - 一种从一个表中选择字段并将其插入到另一个表中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683255/

相关文章:

mysql - 如何在以下 SQL 场景中避免重复

php - 将 JSON 插入 MySQL 表时转义引号

php - 插入表错误

sql-server - INSERT INTO 带有 DB 的变量

postgresql - 使用一个 INSERT 语句而不是每行 INSERT 创建 PostgreSQL 转储

mysql - MySQL 数据库 : MySQL Incorrect datetime value 的 ISO 8601 时间戳

php - 在 php 中从 MYSQL 结果创建 3D 数组

mysql - Go:如何使用 sql/db 包从 mysql 检索多个结果

php - Ajax 插入数据脚本无法正常工作。我该如何改进这段代码?

mysql - 插入查询错误: Column count doesn't match value count at row 1