【发布时间】:2016-06-25 12:07:11
【问题描述】:
我正在尝试使用 PHPMyAdmin 将这个简单的代码作为 MySql 中的一个过程来执行
CREATE TEMPORARY TABLE IF NOT EXISTS jobs AS (SELECT
*
FROM
all_jobs
WHERE
job_object_type LIKE 'jobName'
OR
job_object_type LIKE 'jobStatus');
SELECT
*
FROM
jobs
但由于我的第二个 SELECT 查询,我收到了 error (#1064)。我来自 MS-SQL,在那里SELECT 将毫无问题地执行。如何在同一过程中执行CREATE TABLE X 查询并在之后直接执行SELECT * FROM X 查询?
编辑:忘了提到我正在使用 MariaDB
【问题讨论】:
-
如果您收到类似“检查手册以了解在 'SELECT` 附近使用的正确语法”之类的错误,那是因为您没有使用
;终止CREATE TABLE语句 MySQL 期望语句由;分隔,根据您使用的客户端,您可能还需要用DELIMITER关键字包围CREATE PROCEDURE语句以临时设置不同的关键字。 -
特别是查看手册页底部的用户示例以获取示例:dev.mysql.com/doc/refman/5.7/en/create-procedure.html
-
我把“;”在我的 CREATE TABLE 结束时,我仍然收到错误
-
请发布您准确完整的
CREATE PROCEDURE声明及其产生的完整错误消息。另外,您使用的是 mysql 命令行客户端吗? MySQL 工作台? PHPMyAdmin?由于分隔符问题,使用的客户端可能会影响您必须如何制作语句。 -
我正在使用 PHPMyAdmin 创建程序并对其进行编辑。我的问题中的 CREATE PROCEDURE 是完整的。
标签: mysql phpmyadmin mariadb