MySQL中,表注释该使用单引号还是双引号?

说实话,这件事在MySQL中是比较特殊的。
我使用 MySQL 已经很多年了。
记得一开始表格评论让我头疼了一阵子。

记得有一次,我在论坛上看到一个帖子,说有人在MySQL中用双引号注释了表,但是表没有创建成功。
当时我不明白,单引号和双引号为什么不能混用呢?
后来查了一下MySQL的官方文档,发现有关于这件事的规定。
MySQL官方明确表示,在COMMENT字段添加注释时,注释内容必须用英文单引号(&3 9 ;)包裹起来。
像这样:
sql ALTER TABLE table_name COMMENT '这是表注释';
如果你使用双引号或者中文单引号,MySQL就会对你生气并抛出一个错误给你。

有趣的是,有时错误并不是因为使用了错误的引号引起的,而是因为键盘输入状态错误造成的。
例如,如果你使用的是中文输入法,那么你按下的单引号(‘’)实际上是中文,MySQL无法识别这一点。

还有语法错误,比如单引号前后有空格或者符号,也会导致建表失败。
我当时就遇到过这样的情况。
单引号前后都有空格。
结果建表失败,只好仔细检查代码。

表名和字段名必须用反引号()括起来,以避免与MySQL的保留关键字冲突。
但是,这两条注释的内容必须用单引号引起来。
尽管它们看起来相似,但用途不同。

默认情况下,MySQL 将双引号解释为字符串文字,但这取决于您的 SQL 模式配置。
如果启用 ANSI_QUOTES 模式,双引号也可以用于标识符。
但为了安全起见,我还是建议使用单引号进行注释。

最后,我给大家总结一下:

表格注释应该用英文单引号(&3 9 ;)括起来。

表名和字段名必须用反引号()括起来。

在某些 SQL 模式下,双引号可用于标识符,但不建议用于注释。

通过遵循这些规范,您可以避免语法错误并确保数据库兼容性。
虽然这件事有点麻烦,但是掌握了规则之后,其实就不是什么问题了。

MySQL中的三个单引号用途与注意事项mysql三个单引号

哎,前两天我正在帮隔壁团队的小王调试代码呢。
他在编写 SQL 语句时被卡住了。
我一看,哦,这里写的是什么。
从 customer_name = 'O'Reilly' 的订单中选择;引号内还有引号。
当时我就想我该怎么办?在 MySQL 中,字符串用单引号括起来。
如果字符串中含有单引号,直接写肯定不行。
当时,小王的脸就绿了,他说自己尝试了很多方法都没有效果。
我看着他的屏幕,突然想到,嘿,你不需要使用三个单引号吗?我说,尝试这样写: SELECT FROM order WHERE customer_name = 'O'Reilly';他立即复制并运行,结果成功了。
她拍着大腿说道:“这太神奇了!”我说你要记住这一点,你不仅要加三个单引号,还要在两个单引号之间加一个。
我是对的,就像在打字机上一样,您按 Shift 键,然后按单引号,再次按 Shift 键,然后按单引号,最后按单引号。
他点点头。
我什至说,这件事其实没什么大不了的,只是一个细节而已。
但细节有时可以挽救局面。
他问道,我们还应该关注什么?我说,比如说,不能只加在中间,必须加在开头和结尾。
如果写成“O'Reilly”,这是错误的,MySQL 会感到困惑。
他又问,什么时候用?我说,当你的字符串包含单个其中有引号,例如人名中的 O'Reilly,或地址中的 McDonald's。
其他时候只需使用常规单引号即可。
他很理解。
我看着他,突然想到,等等,似乎还有一件事,那就是三个单引号只适用于字符串文字,而不是用在标识符或关键字上。
他愣了一下,说道:嘿,我都没注意。
我说,是的,别混淆了。
他点点头。
我感叹,这个SQL看起来简单,但是水很深。
他问,还有什么要注意的吗?我看了看手表,已经快五点了。
我说,这件事我得慢慢说,下次再说。
他哼了一声,开始收拾东西。
我看着他的背影,心想,他真的记得这三个单引号吗?

MySQL注释用单引号还是双引号?

MySQL 中的注释用单引号而不是双引号括起来。
特别是:
注释语法: sql 创建表 表名 ( column_name INT NOT NULL COMMENT '这是该字段的注释' );
这里“This is a comment for the field”是对该字段的注释。
记住单引号。

表名和字段名规则: 如果表名或字段名包含特殊字符,例如空格或关键字,则必须将其括在反引号中。
除非有特殊字符,否则不需要反引号,但仍然需要使用单引号进行注释。
sql 创建表选择( username VARCHAR(5 0) COMMENT '用户名字段' );
如果没有特殊字符,反引号可以省略,但注释单引号必须存在。

何时使用双引号: MySQL双引号默认和单引号类似,都是字符串。
但如果启用 ANSI_QUOTES 模式,双引号将用作表或字段名称。
目前,在注释中使用双引号是不正确的。
sql -
启用了ANSI_QUOTES模式,这样写会不正确 CREATE TABLE "table_name" ("column_name" VARCHAR(5 0) COMMENT "注释拼写错误");
正确拼写: sql CREATE TABLE table_name (column_name VARCHAR(5 0) COMMENT '编写注释的正确方法');
常见错误: 用户遇到单引号时报错,通常是因为: 1 .表名或字段名使用单引号,不带反引号。
2 . ANSI_QUOTES 模式下注释使用双引号。

如果您在评论中看到像“O'Reilly”这样的单引号,您需要转义它: sql column_name VARCHAR(5 0) COMMENT 'O'Reilly'
建议: 1 . 始终使用单引号来包含注释。
2 . 仅在必要时在表/字段名称中使用反引号。
3 . 要检查 SQL 模式,请使用 SELECT @@sql_mode;检查。
如果模板具有 ANSI_QUOTES,则显式使用双引号和单引号。

如果你遵守规则,你的评论就不会出错。

MySQL 注释符号:单引号还是双引号?

等一下,我昨天在帮同事调试代码的时候遇到了一件奇怪的事情。
他用双引号写了一个表格注释。
结果,MySQL崩溃了,错误信息极其难以理解。
后来我提醒他改用单引号,立刻就一切正常了。
这让我想起了我大学学习C语言的时候。
老师总是说字符串必须用双引号引起来,但是MySQL的家伙有他们自己的规则。
哎,这个数据库注解的小细节真是容易惹麻烦啊。
就像给表格加标签一样,单引号是用于书写注释的便利贴,反引号是用于固定表格名称的钉子。
如果互换使用的话肯定不行。
不过话说回来,为什么MySQL一定要使用单引号呢? 莫非开发小伙伴们喜欢用这个?