【发布时间】:2014-04-16 18:54:09
【问题描述】:
你好,这里的第一个问题。 我有一个查询,它搜索在 where 子句中传递 id 的列“description”,而不使用“id”列,这怎么可能?
表参数_公司
id description_parameter value_parameter id_company
1 BASE UTC 7 1
2 保修 10 1
3 BASE UTC 15 2
这确实有效,因为描述没有数字
SELECT
value_parameter
FROM
parameters_companies
WHERE
description_parameter = 1 AND
id_company = 1
但这有效。为什么以及如何工作?使用它是一个好习惯吗?
SELECT
parameters_companies.value_parameter
FROM
parameters_companies
WHERE
parameters_companies.description_parameter = 1 AND
parameters_companies.id_company = 1
这将返回 value_parameter = 7,如果您更改 id_company = 2,则返回 value_parameter = 15 那么,parameters_companies.description_parameter = 1 按“id 列”搜索,然后按具有相同“描述”的列搜索?
编辑: 这是因为被定义为我没有注意到的“枚举列”,我从不使用那种类型的列 感谢@CaptRespect @Up_One 为您的时间。
【问题讨论】:
-
如果您更改 description_parameter = 2,按照您的逻辑,您不会期望 value_parameter = 10 吗?您使用的是什么数据库,列是如何定义的?
-
Mysql 和 php,它是一个“枚举”列
标签: php mysql search find identity-column