Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 此SQL语句有什么问题导致列计数与第1行的值计数不匹配?_Php_Mysql - Fatal编程技术网

Php 此SQL语句有什么问题导致列计数与第1行的值计数不匹配?

Php 此SQL语句有什么问题导致列计数与第1行的值计数不匹配?,php,mysql,Php,Mysql,Mysql表迁移术语字段如下所示 oldterm count newterm seed 我使用了以下创建表statment CREATE TABLE `migration_terms` ( `oldterm` varchar(255) DEFAULT NULL, `count` smallint(6) DEFAULT '0', `newterm` varchar(255) DEFAULT NULL, `seed` i

Mysql表迁移术语字段如下所示

oldterm   count    newterm  seed
我使用了以下创建表statment

CREATE TABLE `migration_terms` 
    ( 
      `oldterm` varchar(255) DEFAULT NULL, 
      `count` smallint(6) DEFAULT '0', 
      `newterm` varchar(255) DEFAULT NULL, 
      `seed` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`seed`) 
    )   ENGINE=InnoDB DEFAULT CHARSET=utf8
它是有效的,没有问题

但是当我使用下面的insert into语句填充它时

"INSERT INTO migration_terms 
     SELECT looseterm as oldterm, 
            COUNT(seed) AS count 
            FROM looseterms 
            GROUP BY looseterm 
            ORDER BY count DESC "
我得到这个错误

 Column count doesn't match value count at row 1
我不明白为什么

如果您需要looseterms表的表结构,它是由下面的CREATETABLE语句创建的

CREATE TABLE looseterms
(
     `seed` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
     `looseterm` varchar(255)
)

insert添加了2列数据,而表的定义有4列

insert添加了2列数据,而表的定义有4列

如果select语句的列数少于表,则需要指定列

"INSERT INTO migration_terms 
        (oldterm, 
         count) 
SELECT looseterm   AS oldterm, 
       Count(seed) AS count 
FROM   looseterms 
GROUP  BY looseterm 
ORDER  BY count DESC  "

如果未指定要插入的列名列表。。。价值观或 插入选择,表中每列的值必须为 由值列表或SELECT语句提供。如果你不 了解表中列的顺序,使用descripe tbl_name 找出答案


如果select语句的列少于表,则需要指定列

"INSERT INTO migration_terms 
        (oldterm, 
         count) 
SELECT looseterm   AS oldterm, 
       Count(seed) AS count 
FROM   looseterms 
GROUP  BY looseterm 
ORDER  BY count DESC  "

如果未指定要插入的列名列表。。。价值观或 插入选择,表中每列的值必须为 由值列表或SELECT语句提供。如果你不 了解表中列的顺序,使用descripe tbl_name 找出答案