1.7.2.4' - '作为评论开始

标准SQL使用C语法/* this is a comment */进行注释,MySQL Server也支持这种语法。MySQL还支持这种语法的扩展,可以将MySQL特定的SQL嵌入到注释中,如第9.6节“注释语法”中所述。

标准SQL使用“--”作为开始注释序列。MySQL Server#用作开始注释字符。MySQL Server还支持--注释样式的变体。也就是说,--开始 - 注释序列后面必须有一个空格(或一个控制字符,如换行符)。需要空间来防止使用自动生成的SQL查询的问题,这些SQL查询使用以下结构,我们会自动插入以下付款的值payment

UPDATE帐户SET credit =信用付款

考虑如果payment有负值会发生什么,如-1

UPDATE帐户SET credit = credit  -  1

credit--1是SQL中的有效表达式,但--被解释为注释的开始,表达式的一部分被丢弃。结果是一个声明与意图完全不同的意思:

UPDATE帐户SET credit = credit

该声明根本不产生价值变动。这说明允许评论开始--可能会造成严重后果。

使用我们的实现需要一个空格,--以便在MySQL服务器中被识别为开始注释序列。因此,credit--1使用安全。

另一个安全的功能是mysql命令行客户机忽略开头的行--

results matching ""

    No results matching ""