为MYSQL加注释--mysql注释符

本文详细介绍了MySQL中使用的三种注释符号,包括单行注释和多行注释的使用方式,帮助解决因注释符号错误导致的数据插入失败等问题。

http://www.cnblogs.com/analyzer/articles/1046688.html

插入记录的时候一直没有成功,郁闷不知道为什么.因为是很多条记录一起插入,中间一些不用的数据就用"--"来注释了,结果没有效果.

没有办法,在网上找了找,才发现注释符"--"错了,需要一个空格,应该是"-- ".

 mysql注释符有三种:
1、#...
2、"--  ..."
3、/*...*/
<think>好的,我现在需要解决用户关于MySQL中使用'--'注释是否需要空格的问题。首先,我得回忆一下MySQL注释语法规则。记得之前学过,MySQL中的单行注释有两种方式:一种是使用'#',另一种是使用'--'。但关于'--',好像有特别的要求。用户的问题很明确,就是想知道在使用'--'作为注释时,是否需要添空格。根据之前看到的资料,比如引用[1]提到,MySQL中的'--'只有在后面紧跟空格时才会被识别为注释,否则可能会被当作表达式处理。比如例子中的查询,当写成'--1'时,如果没有空格,可能不会被视为注释,而是作为列名的一部分,导致结果出现异常。再确认一下官方文档的说法。根据MySQL官方文档,使用'--'作为注释时,必须确保后面有一个空格或控制字(如换行)。这样解析器才能正确识别注释的开始。如果'--'后面直接跟其他字,比如数字或字母,解析器会认为这是一个表达式,而不是注释。例如,用户输入SELECT1, --1 FROMDUAL;这里的'--1'因为没有空格,会被解析为列名,结果会显示两列,分别是1和--1的值。而如果写成SELECT1,--1 FROMDUAL;这里的'--'后面有空格,那么后面的内容会被注释掉,结果可能只有一列。另外,引用[2]也提到,在SQL语句中使用'--'插入单行注释时,需要确保后面有空格。比如示例中的注释正确写法是“--从结果中删除重复行。”,这时候注释生效,后面的内容被忽略。 所以综合来看,MySQL要求在使用'--'作为注释时,后面必须紧跟空格或换行,否则可能无法正确识别为注释,导致语法错误或意外的查询结果。这一点和Oracle等其他数据库可能不同,比如Oracle可能不需要空格,但MySQL有严格的要求。 用户可能是在编写SQL语句时遇到了问题,比如注释被当作文本处理,导致查询出错。需要提醒用户注意在'--'后添空格,并建议在编写注释时使用'#'来避免这种问题,或者确保遵循正确的空格规则。 另外,用户可能还关心这种规则在不同版本的MySQL中是否有变化,或者是否有其他注释方式更可靠。比如,多行注释/**/也是可靠的选择,不会受空格影响。所以可以建议用户根据具体情况选择不同的注释方式,以确保代码的可读性和正确性。总结一下,回答用户时需要明确规则,给出示例,并建议最佳实践,帮助用户避免常见错误。</think>### MySQL中'--'注释的规则说明 在MySQL中使用`--`作为单行注释时**必须遵循特定格式要求**,具体规则如下: 1. **基本规则** `--`注释**必须后接空格或控制字**(如换行)才能生效。若`--`后紧跟非空字MySQL会将其视为表达式而非注释。例如: ```sql SELECT 1, -- 正确注释(有空格) --1 -- 错误注释(无空格,会被解析为列名 FROM DUAL; ``` 执行结果: ``` +---+-----+ |1 |--1 | +---+-----+ |1 |1 | +---+-----+ ``` 2. **与Oracle的区别** Oracle允许`--`后直接跟注释内容无需空格,但MySQL严格要求必须添空格[^1]。例如: ```sql -- Oracle中合法,MySQL中非法 SELECT 1 FROM dual --注释内容; -- MySQL合法写法 SELECT 1 FROM dual -- 注释内容; ``` 3. **替代方案** - 使用`#`作为注释(无需空格): ```sql SELECT 1 #直接注释 FROM DUAL; ``` - 使用多行注释`/* ... */`: ```sql SELECT 1 /* 跨行注释 更安全 */ FROM DUAL; ``` ### 关键总结 | 注释 | 是否需要空格 | 示例 | |--------|--------------|-------------------| | `--` | **必须** | `-- 注释内容` | | `#` | 无需 | `#注释内容` | | `/* */`| 无需 | `/* 注释内容 */` |
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值