小编典典

;在定义函数,存储过程和触发器(其中必须定义多个语句)时,通常使用默认值以外的分隔符

。您可以定义一个不同的定界符,例如$$,该定界符用于定义整个过程的结尾,但是在其中,每个单独的语句均以终止;。这样,当代码在mysql客户端中运行时,客户端可以知道整个过程在何处结束,并将其作为一个单元执行,而不是在其中执行各个语句。

请注意,DELIMITER关键字仅是命令行mysql客户端(和某些其他客户端)的功能,而不是常规的MySQL语言功能。如果您尝试将其通过编程语言API传递给MySQL,它将无法正常工作。其他一些客户端(如PHPMyAdmin)具有其他方法来指定非默认定界符。

例:

DELIMITER $$

/* This is a complete statement, not part of the procedure, so use the custom delimiter $$ */

DROP PROCEDURE my_procedure$$

/* Now start the procedure code */

CREATE PROCEDURE my_procedure ()

BEGIN

/* Inside the procedure, individual statements terminate with ; */

CREATE TABLE tablea (

col1 INT,

col2 INT

);

INSERT INTO tablea

SELECT * FROM table1;

CREATE TABLE tableb (

col1 INT,

col2 INT

);

INSERT INTO tableb

SELECT * FROM table2;

/* whole procedure ends with the custom delimiter */

END$$

/* Finally, reset the delimiter to the default ; */

DELIMITER ;

尝试DELIMITER与不支持它的客户端一起使用将导致将其发送到服务器,服务器将报告语法错误。例如,使用PHP和MySQLi:

$mysqli = new mysqli('localhost', 'user', 'pass', 'test');

$result = $mysqli->query('DELIMITER $$');

echo $mysqli->error;

错误:

您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’DELIMITER $$’附近使用正确的语法

2020-05-17

mysql分隔符声明_MySQL中的分隔符相关推荐

  1. mysql 日期相等_mysql中时间比较的实现

    MySql中时间比较的实现 unix_timestamp 函数可以接受一个参数,也可以不使用参数.它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如 ...

  2. mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享

    因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代 ...

  3. mysql 关联索引_mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?...

    情况描述:在MySQL的user表中,对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引? 根据查询字段的位置不同来决定,如查询a,     a,b    a,b, ...

  4. mysql range用法_MySQL中Explain的用法总结(详细)

    本篇文章给大家带来的内容是关于MySQL中Explain的用法总结(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 执行计划(query Execution plan) 语法e ...

  5. mysql join图解_MySQL中Join算法实现原理分析[多图]

    在MySQL 中,只有一种 Join 算法,就是大名鼎鼎的 Nested Loop Join,他没有其他很多数据库所提供的 Hash Join,也没有 Sort Merge Join.顾名思义,Nes ...

  6. mysql getnum函数_Mysql中实现提取字符串中的数字的自定义函数分享

    因需要在MysqL的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的MysqL函数,可以有效的从字符串中提取出数字. 该MysqL提取出字符串中的数字函数如下: CREATE ...

  7. mysql regexp边界_MySQL中REGEXP正则表达式使用大全

    以前我要查找数据都是使用like后来发现mysql中也有正则表达式了并且感觉性能要好于like,下面我来给大家分享一下mysql REGEXP正则表达式使用详解,希望此方法对大家有帮助. MySQL采 ...

  8. mysql row_number吗_MySQL中的ROW_NUMBER()是什么?

    MySQL版本8.0中包含的Row_NUMBER().这是一种窗口函数.这可用于为行分配序列号.要了解,请借助CREATE pcommand创建一个表- 建立表格CREATE table rowNum ...

  9. mysql 排除字段_mysql中select某表时排除个别字段,shell实现

    在使用mysql的日常生活中,偶尔会有一些奇奇怪怪的需求,例如实现类似:select * EXCEPT password,address from users; 要想从users信息表中查询用户信息, ...

最新文章

  1. 用Python预测收入,来看看你的收入到底应该是多少?
  2. python字典的实现原理_Python字典的实现原理
  3. PyTorch 实现孪生网络识别面部相似度
  4. 获取页面和滚动条高度的另一种方法
  5. infor wms 中英文对照_【融合·君豪】新君豪中英文学校第十周食谱
  6. ONAP发布“阿姆斯特丹”版本,为网络服务自动化制定标准
  7. 贷款机构如何审核个人征信?
  8. UESTC_秋实大哥与花 2015 UESTC Training for Data StructuresProblem B
  9. 使用 C# 9 的records作为强类型ID - JSON序列化
  10. java 常量区存放 new_java---堆、栈、常量池的存储数据
  11. android不是内部或外部命令,也不是可执行的程序或批处理文件
  12. 小狼程序员:工作遐想
  13. iPhone7,苹果最后的摇钱树
  14. 绿联网卡转接mac设置_绿联外置网卡Mac os 11.0 Big Sur驱动方案来了
  15. Persistent.
  16. c++ 制作走迷宫游戏
  17. php支持连接sql server数据库
  18. webpack如何解析less?(less-loader、css-loader、style-loade)
  19. Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习
  20. 只是为了纪念机房颓废的日子

热门文章

  1. Cisco GETVPN
  2. 她是真正的科学女皇!
  3. pycharm 安装激活破解方法
  4. 让微积分穿梭于工作与学习之间(12):从直边三角形到曲边三角形的面积计算
  5. win10家庭版升级为专业版详解 --- 0xC004C003问题详解
  6. MPP数据库查询表占用空间
  7. BUUCTF Misc wp大合集(3)
  8. mysql update分割字符串_mysql 截取字符串并 update select
  9. 图数据库――大数据时代的高铁
  10. 数据分析——费米估算问题