mysql - 我应该如何在 MySQL 中编写查询以从一个表获取值到另一个表

标签 mysql sql database

我希望将一些字段数据从表(称为配置文件)插入到另一个表(服务)以及表中的那些字段数据(要插入值,即服务)。但我失败了.我是 MySQL 和数据库查询的新手,需要您的帮助。

  $qur = mysql_query("INSERT INTO services(FirstName,LastName,DOB,Mobile,email,CountryCode,Address,State,City,Country,PinCode,altmobnumber,PanCard,AdharCard,ServiceOffering,Fee,FeeDuration,FeeExtraHour,negotiable) select profile.FirstName,profile.LastName,profile.DOB,profile.Mobile,profile.email,profile.CountryCode,profile.Address,profile.State,profile.City,profile.Country,profile.PinCode from profile where id = '$id'")or die(mysql_error());

最佳答案

您需要为 VALUES 列表中的每一列指定值。如果您在 SELECT 语句中没有任何值,请为相应字段使用 NULL 值,或者直接将其从 VALUES 列表中删除。

例如如果要在 tbl1 中插入三个值但 tbl2 仅包含 2 个字段,请为第三个字段使用 NULL

INSERT INTO tbl1 (a, b, c) SELECT tbl2.a, tbl2.b, NULL FROM tbl2

或者如果您有硬编码值,

INSERT INTO tbl1 (a, b, c) SELECT tbl2.a, tbl2.b, some_value FROM tbl2

或者只使用两个字段

INSERT INTO tbl1 (a, b) SELECT tbl2.a, tbl2.b FROM tbl2

现在,您查询的 VALUES 部分有 19 个字段,但您的 SELECT 语句仅提供 11 个字段。为成功执行的最后 8 个字段添加 NULL 或从 VALUES 列表中删除最后 8 个字段

关于mysql - 我应该如何在 MySQL 中编写查询以从一个表获取值到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32348234/

相关文章:

mysql - 从两个链接的多对多关系中检索数据

java - OAuth2 token 应该存在多长时间?

mysql - 如何将同一个表的 2 个 SQL 查询的结果集成到单个查询中?

php - 生成唯一的随机字符串并插入数据库

python - 让一个令人困惑的复杂 mysql 请求工作

php - 如何将uuid与表连接起来命名

SQL 查询 where 子句

java - 更新到 3.6.5 后,Hibernate 将属性映射到 SQL 公式失败

mysql - 有什么可行的方法可以将 MySQL 行设置为只读吗?

ios - 什么是 iphone 应用程序的最佳数据库