How to call a mysql stored procedure, with arguments, from command line?

MysqlCommand LineCallProcedure

Mysql Problem Overview


How can I call a stored procedure from command line?

I have a procedure:

CREATE DEFINER=`root`@`localhost` PROCEDURE `insertEvent`(IN `dateTimeIN` DATETIME)
    NO SQL
BEGIN
	SET @eventIDOut = NULL;

	IF  EXISTS(SELECT * FROM `events` WHERE `eventDate` = dateTimeIN) THEN
		SELECT `eID` INTO @eventIDOut FROM `events` WHERE `eventDate` = dateTimeIN LIMIT 1;
        ELSE
		INSERT INTO `events` (`eventDate`) VALUES(dateTimeIN);
		SET @eventIDOut = last_insert_id();
	END IF;

	SELECT CONCAT(@eventIDOut);
END

  1. I tried this: mysql> CALL insertEvent(2012.01.01 12:12:12);

    Result:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.01 12:12:12)' at line 1

  2. And this: mysql> CALL insertEvent

    -> 2012.01.01 12:12:12;

    Result:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2012.01.01 12:12:12' at line 2

Mysql Solutions


Solution 1 - Mysql

With quotes around the date:

mysql> CALL insertEvent('2012.01.01 12:12:12');

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGábor DANIView Question on Stackoverflow
Solution 1 - MysqlkorianderView Answer on Stackoverflow