Php 此SQL语句有什么问题导致列计数与第1行的值计数不匹配?
Mysql表迁移术语字段如下所示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
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
找出答案