日期:2014-05-16 浏览次数:20743 次
2.从‘-- ’序列到行尾。请注意‘-- ’(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格、tab、换行符等等)。该语法与标准SQL注释语法稍有不同,后者将在1.8.5.7, “‘--’作为注释起始标记”中讨论。
注意:
之所以要求使用空格,是为了防止与自动生成SQL查询有关的问题,它采用了类似下面的代码,其中,自动为“!payment!”插入“payment”的值:
UPDATE account SET credit=credit-!payment!
考虑一下,如果“payment”的值为负数如“-1”时会出现什么情况:
UPDATE account SET credit=credit--1
在SQL中“credit--1”是合法的表达式,但是,如果“--1”被解释为注释开始,部分表达式将被舍弃。其结果是,表达式的意义与预期的意义完全不同。
UPDATE account SET credit=credit
该语句不会对值作任何更改!这表明,允许注释以“--”开始会产生严重后果。
3.从/*序列到后面的*/序列。结束序列不一定在同一行中,因此该语法允许注释跨越多行。
注意:
/*!50001 DROP TABLE IF EXISTS `count_yysbh`*/; 50001表示假如 数据库版本是5.00.01以上版本,“DROP TABLE IF EXISTS `count_yysbh”才会被执行