MySQL 8.0参考手册
MySQL 8.0发行说明
标准SQL使用C语法/ *这是一个评论* /
有关注释,而MySQL Server也支持此语法。MySQL还支持扩展到此语法,使您可以在评论中嵌入MySQL特定的SQL,如下所述注释。
标准SQL使用“-
“作为开始评论序列。MySQL Server使用#
作为开始注释字符。MySQL Server还支持一个变体-
评论风格。那就是-
开始 - 注释序列必须后跟空格(或由诸如换行符的控制字符)。需要该空间来防止自动生成的SQL查询诸如以下构造的SQL查询的问题,我们自动插入付款的值支付
:
更新帐户集信用=信用付款
考虑如果发生的事情支付
有负值,如-1
:
更新帐户集信用= Credit - 1
信用 - 1
是SQL中的有效表达式,但是-
被解释为注释的开始,丢弃了一部分表达式。结果是一个与预期完全不同的含义的陈述:
更新账户集信用=信用
该陈述根本不会改变价值。这说明允许评论开始-
可能会产生严重的后果。
使用我们的实现需要遵循的空间-
它被识别为MySQL Server中的开始注释序列。所以,信用 - 1
使用安全。
另一个安全的功能是mysql.命令行客户端忽略以开头的行-
。