php - 列数错误

标签 php mysql

我收到以下错误:列数与此查询中第 1 行的值数不匹配:

$movetohistory = mysql_query("INSERT INTO $storehistory SELECT * FROM $storetbl WHERE $time - datecreated >= 432000") or die ("Query failed: " . mysql_error() . " Actual query: " . $query);

我已经回显了 $storehistory、$storetbl、$time & 一切正常。两个表都具有相同的列/数据类型。我唯一可以假设的是,由于 $storetbl 没有填写所有字段,因此出现列数错误。但是,我认为指定 SELECT *ALL 会超过它。

如果您能指出正确的方向,我将不胜感激。如果您需要更多片段,请告诉我。

谢谢。

最佳答案

因为您的子查询返回的列多于可以插入的列:

INSERT INTO $storehistory SELECT * FROM $storetbl WHERE $time - datecreated >= 432000"

为清楚起见,您应该将子查询括起来:

INSERT INTO $storehistory (SELECT * FROM $storetbl WHERE $time - datecreated >= 432000)"

编辑:

我刚刚执行了这个查询,它完美地处理了两个相同的表:

insert into users_copy select * from users

我会仔细检查您的数据结构是否相同。

关于php - 列数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1026238/

相关文章:

mysql - 我想计算公司之间先前协议(protocol)的数量,并将此计数分配给焦点公司

MySQL计算两个别名的百分比

php - $_POSTing 多个具有相同 ID 的输入,这些输入是通过 jQuery 在点击时添加的。

php - 我如何在 yii-booster bootstrap 小部件中制作一个 gridView,其中一个列中的按钮弹出窗口

php - 无法从 jQuery DataTables 内触发模式

python - Flask-Sqlalchemy:数据库查询不返回新数据

php - 将表转换为关系表

php - 在 php 中检测 iPad?

php - 在 URL 中公开类和方法名称是否不安全?

mysql - SQL - 在包含数字和字母的列中搜索特定范围的最佳方法是什么?