【问题标题】:INSERT INTO MySql Syntax error SqlWorkbenchINSERT INTO MySql 语法错误 SqlWorkbench
【发布时间】:2014-12-14 01:29:28
【问题描述】:

我有一个查询,MySql Workbench 说返回缺少分号的错误。我看了这里,普遍的共识是改变分隔符将解决问题,因为工作台的内置过程。但是,当我将分隔符更改为 $$ 时,语法错误只会从 VALUES (p_IPAddress) 行移动到 END 行。错误仍然缺少分号,即使分隔符现在是 $$。

    DELIMITER $$

USE woodsweb$$

CREATE PROCEDURE CreateNewSession
(
    IN p_IPAddress VARCHAR(20)
)
BEGIN
    INSERT INTO SessionLog (IPAddress)
    VALUES (p_IPAddress);

    SELECT last_inserted_id()
END$$

【问题讨论】:

  • 没关系。我被分隔符问题所困扰,我从未意识到 SELECT last_inserted_id(); 处没有分号;

标签: mysql mysql-workbench delimiter sql-insert


【解决方案1】:

我在 END 语句之前缺少分号。

DELIMITER $$

USE woodsweb$$

CREATE PROCEDURE CreateNewSession
(
    IN p_IPAddress VARCHAR(20)
)
BEGIN
    INSERT INTO SessionLog (IPAddress)
    VALUES (p_IPAddress);

    SELECT last_inserted_id();
END$$

注意在SELECT last_inserted_id()

之后添加的;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2012-02-07
    • 1970-01-01
    相关资源
    最近更新 更多