mysql - 第 2 行存在语法错误 (1064)

标签 mysql database syntax-error

我正在尝试将查询的表保存到另一个表中。我的新表已创建,结构如下:

TABLE: edit_mdr
+---------------+----------------+---------------------------------+
|Column         | Type           | Comment                         |
+---------------+----------------+---------------------------------+
| ID            | int(10)        | unsigned zerofill Auto Increment|
+---------------+----------------+---------------------------------+
| date_submitted| date           |                                 |
+---------------+----------------+---------------------------------+
| requestor     | varchar(40)    |                                 |
+---------------+----------------+---------------------------------+
| campus        | varchar(10)    |                                 | 
+---------------+----------------+---------------------------------+
| defect_loc    | varchar(40)    |                                 |
+---------------+----------------+---------------------------------+
| defect_des    | varchar(1500)  |                                 |
+---------------+----------------+---------------------------------+
| priority      | varchar(10)    |                                 |
+---------------+----------------+---------------------------------+
| action_taken  | varchar(1500)  |                                 |
+---------------+----------------+---------------------------------+
| assigned_to   | varchar(40)    |                                 |
+---------------+----------------+---------------------------------+
| category      | varchar(30)    |                                 |
+---------------+----------------+---------------------------------+
| photo         | varchar(200)   |                                 |
+---------------+----------------+---------------------------------+
| status        | varchar(10)    |                                 |
+---------------+----------------+---------------------------------+

查询如下:

MySQL Query:
INSERT INTO edit_mdr (date_submitted, requestor, campus, defect_loc, defect_des, priority, action_taken, assigned_to, category, photo, status) 
    VALUES(SELECT submit_time,
    MAX(IF(field_name = 'your-name',     field_value, NULL)) AS requestor,
    MAX(IF(field_name = 'menu-campus',   field_value, NULL)) AS campus,
    MAX(IF(field_name = 'location',      field_value, NULL)) AS defect_loc,
    MAX(IF(field_name = 'your-message',  field_value, NULL)) AS defect_des,
    MAX(IF(field_name = 'menu-priority', field_value, NULL)) AS priority,
    MAX(IF(field_name = 'work_done',     field_value, NULL)) AS action_taken,
    MAX(IF(field_name = 'assigned-to',   field_value, NULL)) AS assigned_to,
    MAX(IF(field_name = 'category',      field_value, NULL)) AS category,
    MAX(IF(field_name = 'file-photo',    field_value, NULL)) AS photo,
    MAX(IF(field_name = 'status',        field_value, NULL)) AS status
FROM
    wpc5_cf7dbplugin_submits
GROUP BY
    submit_time);

返回的错误是

Error in query (1064): Syntax error near 'SELECT submit_time, MAX(IF(field_name = 'your-name', field_value, NULL)' at line 2

我不知道第二行所谓的错误发生了什么......请帮忙!

最佳答案

INSERT INTO edit_mdr (date_submitted, requestor, campus, defect_loc, defect_des, priority, action_taken, assigned_to, category, photo, status) 

      SELECT submit_time,
    MAX(IF(field_name = 'your-name',     field_value, NULL)) AS requestor,
    MAX(IF(field_name = 'menu-campus',   field_value, NULL)) AS campus,
    MAX(IF(field_name = 'location',      field_value, NULL)) AS defect_loc,
    MAX(IF(field_name = 'your-message',  field_value, NULL)) AS defect_des,
    MAX(IF(field_name = 'menu-priority', field_value, NULL)) AS priority,
    MAX(IF(field_name = 'work_done',     field_value, NULL)) AS action_taken,
    MAX(IF(field_name = 'assigned-to',   field_value, NULL)) AS assigned_to,
    MAX(IF(field_name = 'category',      field_value, NULL)) AS category,
    MAX(IF(field_name = 'file-photo',    field_value, NULL)) AS photo,
    MAX(IF(field_name = 'status',        field_value, NULL)) AS status
FROM
    wpc5_cf7dbplugin_submits
GROUP BY
    submit_time
;

关于mysql - 第 2 行存在语法错误 (1064),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46359176/

相关文章:

database - 从 google appengine datastore 迁移到 google cloud bigtable 的最佳方式是什么?

compiler-errors - "Two terms in a row"错误

python - 无法删除函数调用

mysql - 如何处理崩溃的 MYISAM 数据库表?

mysql - SQL查询根据id插入数据

mysql - 我如何在 MySQL 中优化这个令人困惑的慢查询?

php - MySQL中的Count(id)转化为字符串

php - 阿里测验没有零结果

php - 翻转事件 = -1 至事件 = 1

oracle - 在for循环中使用.count