是否存在 MySQL 并非 return 所有数据的已知问题?
Is there a known problem where MySQL does not return all data?
我做了一个数据库和一个 table 里面有不同类型的汽车,在 table 中有两个品牌 Toyota在其他品牌中。
然后我尝试使用 SELECT * FROM Car WHERE Make='Toyota';
搜索整个 table 但只出现一行。
这是包含所显示信息的代码:
问题是您的查询试图准确匹配 6 个字符“Toyota”,而您的输入示例可能包含隐藏空格。如果您希望此查询有效,您可以检查是否没有前导空格和尾随空格,或者使用以下解决方案之一:
选项 1:TRIM
函数删除前导空格和尾随空格
SELECT *
FROM Car
WHERE TRIM(Make) = 'Toyota';
选项 2:LIKE
语句将允许您获取任何包含单词“Toyota”的字符串(%
是通配符对于“任何字符串”):
SELECT *
FROM Car
WHERE Make LIKE '%Toyota%';
注意:这些查询将与 MySQL DBMS 一起使用。如果您有不同的 DBMS,请将其作为标签添加到您的问题陈述中。
我做了一个数据库和一个 table 里面有不同类型的汽车,在 table 中有两个品牌 Toyota在其他品牌中。
然后我尝试使用 SELECT * FROM Car WHERE Make='Toyota';
搜索整个 table 但只出现一行。
这是包含所显示信息的代码:
问题是您的查询试图准确匹配 6 个字符“Toyota”,而您的输入示例可能包含隐藏空格。如果您希望此查询有效,您可以检查是否没有前导空格和尾随空格,或者使用以下解决方案之一:
选项 1:TRIM
函数删除前导空格和尾随空格
SELECT *
FROM Car
WHERE TRIM(Make) = 'Toyota';
选项 2:LIKE
语句将允许您获取任何包含单词“Toyota”的字符串(%
是通配符对于“任何字符串”):
SELECT *
FROM Car
WHERE Make LIKE '%Toyota%';
注意:这些查询将与 MySQL DBMS 一起使用。如果您有不同的 DBMS,请将其作为标签添加到您的问题陈述中。