【问题标题】:MySql #1054 error while executing it through phpMyAdmin通过 phpMyAdmin 执行 MySql #1054 错误
【发布时间】:2013-07-02 07:05:36
【问题描述】:

我正在尝试在 phpMyAdmin 中执行此代码。但是,我收到以下错误

#1054 - “字段列表”中的未知列“年份”

SELECT
  CONCAT('SELECT year2,',
  GROUP_CONCAT(sums),
  ' FROM yourtable GROUP BY year2')
FROM (
SELECT CONCAT('SUM(name=\'', name, '\') AS `', name, '`') sums
FROM yourtable
GROUP BY name
ORDER BY COUNT(*) DESC
) s
INTO @sql;

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

查看fiddle 以了解实施情况。

如何解决这个问题? 以及如何在 PHP 中编写脚本?

【问题讨论】:

    标签: php mysql sql phpmyadmin mysql-error-1054


    【解决方案1】:

    Year 是 MYSQL 中的已知对象,如果你有一个名为 'year' 的列,请尝试使用反引号 '`'::

    SELECT
      CONCAT('SELECT `year`,',
      GROUP_CONCAT(sums),
      ' FROM yourtable GROUP BY `year`')
    FROM (
    SELECT CONCAT('SUM(name=\'', name, '\') AS `', name, '`') sums
    FROM yourtable
    GROUP BY name
    ORDER BY COUNT(*) DESC
    ) s
    INTO @sql;
    
    PREPARE stmt FROM @sql;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
    

    【讨论】:

      猜你喜欢
      • 2013-06-29
      • 2021-10-20
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 2011-10-10
      • 1970-01-01
      • 2013-06-17
      相关资源
      最近更新 更多