SQL where子句不起作用

临空

SQL where子句在我的数据库中不起作用。

我有一个名为“站点”的表,其结构如下

id     site
1      xyz.com
2      google.com
3      example.com

我正在运行此SQL查询

SELECT * FROM `sites` WHERE `site` = "google.com";

但是我得到这个输出

 MySQL returned an empty result set (i.e. zero rows). (Query took 0.0009 sec)

我一生中从未见过这样的事。

更新:屏幕截图

我不想在项目中应用此查询。

SELECT * FROM `sites` WHERE `site` LIKE "%google.com%";

桌子

#

询问


真正的问题出insert在创建数据库的命令中。尝试

INSERT INTO sites (id, site) VALUES (1, '\nxyz.com\n'), (2, '\ngoogle.com\n'), (3, '\nexample.com\n')

并手动检查表中的记录。您不会看到换行符。我注意到这是SQL中的一个问题。

Woodvi

UPDATE: OP had invisible newline characters (\n) in his dataset. @EternalPoster (and I) supposed that Trim would remove all whitespace, but MySql Trim Documentation specifies leading & trailing spaces only.


This is what I did:

-- for http://stackoverflow.com/questions/27203169/sql-query-not-work-for-google-com
-- and http://stackoverflow.com/questions/27202157/sql-where-clause-not-working

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

-- --------------------------------------------------------

DROP TABLE IF EXISTS `sites`;

--
--  structure for table `sites`
--
CREATE TABLE IF NOT EXISTS `sites` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `site` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- data for table `sites`
--
INSERT INTO `sites` (`id`, `site`) VALUES
(1, 'xyz.com'),
(2, 'google.com'),
(3, 'example.com');

--
-- select google
--
SELECT * 
FROM sites 
WHERE site = 'google.com'
;

--
-- select google
--
SELECT * 
FROM sites 
WHERE site = 'google.com'
;

and this is what I got:

脚本功能符合预期

So in my case, I see the script functioning as expected.

您的案子有什么不同?我的安装是一个相当默认的设置。Like '%google.com%'适用于您的数据集的事实说明了两点。人们已经建议使用TRIM,因为Like表达式将匹配不可见的字符(空格,制表符,退格键,空值)。MySQL对于正则表达式有一个单独的运算符REGEXP,因此似乎不是该.字符用作通配符,但这可能值得一看。

创建一个空的数据库,然后尝试运行上面的脚本。您得到与我相同的结果吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL分组不起作用

来自分类Dev

Linq to SQL isull in where子句不起作用

来自分类Dev

mysql where子句不起作用

来自分类Dev

左联接与where子句不起作用

来自分类Dev

SQL Server WHERE NOT EXISTS不起作用

来自分类Dev

带有NOT IN子句的SQL DELETE查询不起作用

来自分类Dev

SQL Group by不起作用。

来自分类Dev

SQL查询之间的子句(SQL Server)不起作用?

来自分类Dev

SQL条件where子句不起作用

来自分类Dev

Postgres SQL的奇数[负日期间隔和别名仅在条件子句中不起作用]

来自分类Dev

SQL:WHERE语句后,INNER JOIN将不起作用?

来自分类Dev

Sysdate where子句在Oracle SQL中不起作用

来自分类Dev

Oracle SQL where子句在某些日期不起作用

来自分类Dev

sql更新不起作用

来自分类Dev

IS NULL在SQL的WHERE子句中不起作用

来自分类Dev

mysql where子句不起作用

来自分类Dev

“ in”子句中的“ where”条件不起作用

来自分类Dev

where子句在mysql中不起作用

来自分类Dev

不同的子句在SQL Server 2005中不起作用

来自分类Dev

SQL左连接-之后on子句不起作用

来自分类Dev

proc sql join on子句不起作用

来自分类Dev

SQL WHERE(条件)AND(条件1或条件2)不起作用

来自分类Dev

WHERE子句中的Datediff不起作用

来自分类Dev

SQL WHERE子句不起作用

来自分类Dev

Redshift SQL Case语句和WHERE子句不起作用

来自分类Dev

查询WHERE IN子句不起作用

来自分类Dev

SQL:如何在 in() 子句不起作用时获取数据

来自分类Dev

Codeigniter Where 子句不起作用

来自分类Dev

SQL - 使用 INNER JOIN 的 WHERE 子句中的“NOT IN”不起作用