我希望将一些字段数据从表(称为配置文件)插入到另一个表(服务)以及表中的那些字段数据(要插入值,即服务)。但我失败了.我是 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/