我正在运行工作台 5.2.47。
我写了一个很长的程序,用于基本数据检查。如果数据库中不存在记录,则将插入该记录。
该过程保存时没有任何问题,但当我尝试运行它时,MySQL 5.5 抛出错误。
它很长,里面有很多公司敏感数据,或者我会把它发布在这里。
我试图通过执行小块代码来调试该过程,但我似乎无法让工作台允许我尝试任何操作。
MySQL 展示了如何创建存储过程5.1.5 使用存储过程 http://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-stored-procedures.html.
让我向您展示我正在尝试写的一些非常基本的内容:
DELIMITER $$
DROP PROCEDURE IF EXISTS my_test;
CREATE PROCEDURE my_test()
BEGIN
SELECT * FROM Employees;
END $$
DELIMITER ;
这样,Workbench 给了我错误,“语法错误,意外的 CREATE,期望 $end”。
我不明白,但我需要完成一些事情,所以我要继续前进。
我做了一个更简单的查询:
SET @Count=(SELECT Count(*) FROM tbl_object_users WHERE username='jp2code');
IF (@Count < 1) THEN
INSERT INTO tbl_object_users (username, date_time) VALUES ('jp2code', NOW());
END IF;
我再次收到错误,这次是在 IF 语句上。
接下来,我进入 PhpMyAdmin 尝试使用其数据库运行某些内容:
SET @Count=Count(id) FROM `tbl_object_users` WHERE `username`='jp2code';
它也告诉我 SQL 语法有错误。
我确实下载并安装了最新的 Workbench 6,但它没有解决问题 - 而且我不喜欢这个界面,所以我卸载了它并返回到 Workbench 5.2。
到底是怎么回事? SQL 并不难,那么这些障碍是什么呢?