【发布时间】:2015-12-31 19:45:59
【问题描述】:
我知道在处理 TEXT 类型的数据时应该使用它(我猜是回退到 TEXT 的数据),但这是唯一的情况吗?
例子:
UPDATE names SET name='Mike' WHERE id=3
我正在用 C++ 编写 SQL 查询自动生成,所以我想确保在必须添加引号时不会遗漏案例。
【问题讨论】:
-
您需要将字符串用引号括起来。数字/小数等不应放在引号中,但通常您可以将它们放在引号中,它们将被隐式转换 - 这取决于您使用的 SQL 版本。
-
@Charleh 是否意味着“id='3'”将转换为“id=3”。是这个意思吗?
-
@rightaway717:是的,在许多 SQL DBMS 中,如果列
id的类型是 INTEGER 但您将'3'作为要比较的值传递,则可以接受并在语句准备或执行中的某个点。其他 DBMS 只会从一开始就给你一个不匹配的类型错误。