【问题标题】:What's the difference between ` ' and " in sqlsql中的`'和"有什么区别
【发布时间】:2014-05-15 00:11:58
【问题描述】:

我看到了不同的使用方法,但我不明白为什么......

说一个简单的 SQL..

$q = "UPDATE table SET
col1 = '$var1',
col2 = '$var2'
 ";

所以这是一种方式...

$q = "UPDATE table SET
`col1` = $var1,
`col2` = $var2
 ";

这也是一样的,但是为什么要使用`?

然后:

$q = "UPDATE table SET
'col1' = $var1,
'col2' = $var2
 ";

那么什么是正确的使用方法,什么时候使用,为什么...... 然后我看到了这个:

$q = "UPDATE table SET
col1 = ".$var1.",
col2 = ".$var2";

感谢您抽出宝贵时间。

【问题讨论】:

标签: php mysql sql


【解决方案1】:

反引号`用于保留字或列名,而普通单引号'用于封装字符串。

您可以在此处阅读详细信息:https://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

编辑:正如所指出的,这仅适用于 MySQL。不同的数据库引擎使用不同的方法来封装表、列或保留字。

【讨论】:

  • 在 MySQL 中,MSSQL 使用 [] 和 Postgres ""
【解决方案2】:

当您的专栏被称为 "date" 时会发生什么? Mysql 不会知道你是用错了函数还是你的意思是一个名为date的列

应该经常使用它来让 mysql 知道你在使用一个列,而不是让它做猜测工作。

第二个问题,没有区别。但是你不应该像那样构建查询,而是查看准备好的语句

http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-03
    • 2012-09-21
    • 2021-04-25
    • 2011-07-22
    • 2022-06-11
    • 2012-05-25
    • 2010-09-22
    相关资源
    最近更新 更多