mysql创建一个简单的程序

标签 mysql

我很困惑...为什么下面的代码失败? MySQL 5.6。我想创建简单的过程来删除某些表中的数据

DROP PROCEDURE IF EXISTS truncateStaging;
create procedure truncateStaging
begin
  delete from stg_user;
  delete from stg_userflag;
end;        
PROCEDURE test.truncateStaging does not exist
procedure IF dropped.    
Error starting at line : 3 in command -
create procedure truncateStaging
begin
  delete from stg_user;
  delete from stg_userflag;
end;
Error report -
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 'begin
  delete from stg_user;
  delete from stg_userflag;
end' at line 2

最佳答案

首先您需要更改分隔符,其次您忘记了过程定义中的 ()

DROP PROCEDURE IF EXISTS truncateStaging;
delimiter |
create procedure truncateStaging()
begin
  delete from stg_user;
  delete from stg_userflag;
end
|
delimiter ;

关于mysql创建一个简单的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29206480/

相关文章:

PHP/SQL - 错误 SQL 语法

mysql - 如何通过通配符获取前n条记录组

MySQL' INSERT ... ON DUPLICATE KEY UPDATE 主键限制

mysql - 在同一张 table 上显示相反的结果

php - 每分钟 Cronjob

mysql - 如何运行 Docker 的容器来访问 MySQL 数据库

mysql - 我如何使用 mysql rows 值作为属性?

mysql - 如何在 MySQL 中为数据库设置别名?

php - 为什么我的 MySQL 查询这么慢?

mysql - 如何解析多个查询参数并将它们传递给 sql 命令