【发布时间】:2011-04-12 07:41:48
【问题描述】:
我有一张带有自动递增填零 ID 号的表格。当我查询数据时,ID 丢失了前导零(即“000529”返回为“529”)。有没有办法保留前导零,甚至在查询语句中生成它们?我知道我可以使用 STRPAD 在 PHP 中生成它们,但是对于我正在进行的特定项目,我想检索数据库中的数据。
【问题讨论】:
-
可能是 PHP 将这些 ID 转换为整数。
-
它们被保留在这里,所以你需要提供更多关于你如何连接、查询和可能的转换的信息(确保你得到的是字符串,而不是整数)。
mysql&PDO将在此处“开箱即用”快速测试中保留它们。 -
SELECT id, name title, 'profile' type, date FROM intake WHERE name LIKE '%mi%' UNION ALL SELECT id, casename, 'matter' type, date_opened date FROM s_matters WHERE casename LIKE ' %mi%' UNION ALL SELECT cid AS id, name title, 'call' type, date FROM s_calls WHERE name LIKE '%mi%' UNION ALL SELECT id, subject title, 'event' type, start_date date FROM s_events WHERE subject LIKE '%mi%' ORDER BY date DESC LIMIT 20
-
id 字段和 cid 字段是 6-8 位,前导零,但是当从该查询返回结果时,任何 id 中都没有前导零
-
您使用的是哪个 MySQL 库? mysql_*()、mysqli_*() 还是 PDO 类?