我在MySQL5.7中遇到了一个奇怪的情况。
当然,如我所料,下面的查询失败了:
mysql> SELECT 18446744073709551615 + 1;
ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(18446744073709551615 + 1)'
但以下查询起作用了:
mysql> SELECT 18446744073709551616;
+----------------------+
| 18446744073709551616 |
+-----------------
我正在尝试从包含序列化格式数据的数据库中获取数据。
下面的MySQL查询在SQL中运行,并正确地返回数据。
SELECT * FROM `wpyr_ads`
WHERE
SUBSTRING_INDEX(SUBSTRING_INDEX(`column`, '"age";s:2:"', -1), '"', 1) BETWEEN 25 AND 30
但是使用PHP,由于引号的原因,它不能工作。
$query = "SELECT * FROM `wpyr_ads` WHERE
SUBSTRING_INDEX(SUBSTRIN
以下查询:
SELECT `att`.`val` FROM `att` WHERE NOT (`att`.`val` LIKE `att`.`val`);
什么都不应该还,对吧?
但是它返回所有在其中有反斜杠的val。
我怎么才能让它什么都不还呢?
val是一个varchar(1024)字段(不是主字段,也不是空字段)。
当然,这是一个无用的查询,但它是另一个查询的简化版本,由于同样的原因而无法工作。
我正在使用mysql 5.6.20。
谢谢!
编辑:
我想转义每个需要转义的字符,这样查询就会按预期工作。不仅仅是反斜杠。
我想要做的是编写一个查询,如下所示:
Foo.where("bar LIKE 'bam\_%'")
其思想是这将返回所有的行,其中bar包含一个字符串,以'bam_‘开头,然后是一个不确定的长度。我已经在MySQL工作台中将其作为纯MySQL查询进行了尝试,它似乎可以按预期工作。然而,当我在RoR中这样做时,它似乎完全忽略了转义字符,并将下划线视为真正的通配符。在Rails中,有没有一种方法可以在查询中包含下划线?谢谢。
无论是在语言方面还是在mysql中,我都不太习惯使用正则表达式。
你能帮我写一个查询吗?
我有一个DB表,其中一列包含三种类型的数据:股票编号、名称和价格。我感兴趣的是库存编号。我没有创建这个数据库设计,所以请容忍我。
数据格式如下:
[#3346] - $3,500.00, some name
我必须从这个表中获取与给定的股票编号相匹配的记录,即3346。
SELECT * FROM table_name WHERE col_name REGEXP ?
我怎么能这样做呢?
我正在尝试做一个选择查询MySQL与phpMyAdmin或PHP与PDO。
SELECT 'uid' FROM 'clusters' WHERE 'lat'<='47.21125' AND 'lat'>='39.21125' AND 'lng'<='32.90243' AND 'lng'>='22.90243'
然而,phpMyAdmin说:
#1064 - You have an error in your S
我正在尝试转换这行MySQL代码:
if(DATE_FORMAT(y.first_endperiod,"%Y-%m-%d") = DATE_FORMAT(x.end_period,"%Y-%m-%d"), 1, 0) = 1
敬PrestoDB。我尝试过使用date_format、date_parse和to_char,它们都返回以下错误:
An error has been thrown from the AWS Athena client. SYNTAX_ERROR: line 40:41: Column '%y-%m-%d' cannot b
我在使用python API向mysql发送查询方面是个新手。
我的问题很容易重现。我有一个名为“配料”的表,我想使用参数从python中选择行。
如果我执行cursor.execute("select * from ?",('ingredient',)),我会得到错误消息:Error while connecting to MySQL Not all parameters were used in the SQL statement MySQL connection is closed
I I do cursor.execute("select * f
我将MySQL服务器用于Web,并在MySQL中遇到了类似查询的问题。当我在Katakana类型的日语中使用LIKE query时,有时结果显示不正确。
示例:
SELECT r.report_id, r.user_id, u.user_name
FROM report r JOIN user u ON u.user_id = r.user_id
WHERE r.report_comment LIKE CONCAT('%', 'AC', '%') )
在这个查询中,当我用英语输入‘AC’字符时,尝试使用执行这个查询。结果是正确的(1行返回)。
我试图让下面的PDO查询正常工作,但不知怎么的,它不起作用。这就是我的大脑爆炸的程度!有人能说出我错了吗?
$dbh = new PDO("mysql:host=localhost;dbname=databasename", "user", "pass");
$stmt = $dbh->prepare("SELECT * FROM `something` WHERE `email`=':email' and `name`=':name'");
$stmt->bindPar
我正在努力保护一个针对SQL注入的现有应用程序。由于使用了著名的“复制/粘贴”模式开发模式,它非常古老,而且几乎不可能重构。所有select查询参数(来自用户输入)都没有被过滤。但是,有一个正在使用的自定义查询函数。它接受MySQL查询作为参数,并在数据库中执行它。看起来是这样的:
public function query($sql) {
$this->m_query_id = @mysql_query($sql, $this->m_link_id);
...
}
我的问题是,会否作出这样的修改:
public function q
我有这样的疑问:
select name, body
from news
where body like %MyWord%;
我使用MySQL数据库引擎。当在正文文本中找到MyWord时,此查询将返回name,body。
我这里的问题是,当我在正文中搜索大约两个单词时,比如MyWord1,MyWord2。或者更多!
如果你知道这个查询是按函数调用的(我不能一直修改那个查询),我该怎么做呢?
下面的查询没有更新mysql中的记录。
update audit_login set used_by=null where used_by = "test1\suri";
select也没有获取记录,但是mysql工作台在不同的列上查询时会显示2条记录。
当运行以下命令时:
SELECT * FROM audit_login WHERE used_by like 'test%\suri`;
我从test1\suri的used_by那里拿到了唱片。
请帮帮忙
我想查找带双引号的数据。我有下一个简单的查询:
SELECT * FROM table_name WHERE column_name LIKE "%\"%";
但是我有语法错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"%\"%' at line 1
我应该怎么做才能找到带双引号(“)的数据呢?
我有一个SQL数据库,我想做一个查询,显示所有包含符号"%“的数据。通常,要在数据库中查找字符(例如:"z"),我会使用如下查询:
mysql_query("SELECT * FROM mytable WHERE tag LIKE '%z%'");
但在这里,我想找到%字符,但在SQL中它是一个笑话,所以当我写道:
mysql_query("SELECT * FROM mytable WHERE tag LIKE '%%%'");
它会显示我所有数据。那么如何在我的SQL数据中找到%字符呢?
谢谢
我有一个SQL代码来更新列中的值。我需要找到一个用于MySQL和MySQL的查询。主要问题是,我使用的列是默认的和类型的,它们是SQL中保存的名称,因此它不适用于正常的update语句。
我找到了以下解决方案,但我想对两者进行一个查询-
--Clearing Data logs Defualt MS SQL
UPDATE queries
SET [Default] = 0
FROM queries
WHERE [Type] = 4
--Clearing Data logs Defualt MySQL
UPDATE queries q
SET q.Default = 0
WHERE q.TYP
我有一个使用PDO的mysql查询,其中我想使用like语句搜索我的数据库中的值。
我目前正在使用查询
$selectdp = $connection->prepare(
"SELECT `FilePath`,`ItemPicID`,`Extension`
FROM `ItemPics`
WHERE `BusinessID`=:bizid
AND `ItemID`=:itemid
AND `FilePath` LIKE :search ");
使用
$selectdp->bindValue(":search",
另一次MySQL LIKE搜索没有返回任何内容
我的MySQL数据库中有包含"\'“的内容
但是,我找不到它们,因为我的查询返回的项要么是空的,要么是太多的,这取决于我如何格式化like参数。
这并没有返回任何东西:
SELECT element
FROM `elements`
WHERE body LIKE '%\\\'%'
LIMIT 5
这几乎会返回所有项,因为许多项都包含单引号字符
SELECT element
FROM `elements`
WHERE body LIKE '%\'%'
LIMIT 5
这不起
我正在使用Python一个用于MySQL的MySQL驱动程序,试图用两个参数消除函数中的重复代码: title,author。我正在尝试动态修改查询以适应用户输入。尽管查询是合法的,但通配符%s显然不适用于它。 谁能指出我遗漏的一个可能的修复方法,或者一个不需要为所有四种可能的变体创建4个不同查询的替代解决方案:两者都等于" all ",也不等于“ALL”,或者XOR。 我尝试实现的简化代码片段如下: if title == 'ALL':
title = 'ANY (SELECT title FROM book)'
我必须将一个为mysql5编写的查询重写为mysql4.0,它不支持sub select,我有一个这样的查询:
select a,
c,
(select count(*) from A) as e
from (select b, sum(e) as a
from B
where h = "foo"
group by b) TABLEB,
(select sum(d),
count(*
我一直在尝试根据复选框的输入来调整mysql SELECT语句。php代码将勾选的复选框收集到一个数组中,将它们内嵌到一个逗号分隔的列表中,然后使用in语句运行查询(如详细的所示)。
生成的查询结果为SELECT * FROM events WHERE Discipline IN (SJ,OTHER),据我所知,这是一个格式正确的查询。
当从php代码运行时,这将显示为无效查询。当我使用phpmyadmin运行查询时,我收到以下消息:
#1054 - Unknown column 'SJ' in 'where clause'
我想知道是否有人能告诉我为什么这个查
我试着运行这个查询:
SELECT column FROM table WHERE column REGEXP '[^A-Za-z\-\']'
但这又回来了
#1139 -从regexp获得错误“无效字符范围”
在我看来,字符类中的-没有被转义,而是作为无效的范围读取。对于mysql来说,是否有其他方法可以将其转义为文字-
这个regex在mysql、之外正常工作。
我想出了一个替代正则表达式的方法,就是
SELECT column FROM table WHERE column NOT REGEXP '([:alpha:]|-|\')'
我有一个用python编写的MySQL查询,它检查日期范围。这个命令就像:
"""
SELECT <something>
FROM <a_table>
WHERE datekey BETWEEN (SELECT date_key
FROM `date_table` WHERE date={date_start})
AND (SELECT date_key
FROM `date_table` WHERE date={date_end}
我有一个mysql查询,它总是出现错误。
错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' iOS= 0, Android= 0, sport IN (football,tennis,' at line 2
整个查询是
INSERT INTO table2
SELECT *
FROM table1
WHERE iOS = 0
, android
我试图将参数传递给查询,而不是编写大量的文本,我将其范围缩小到以下简单的解释。我试图插入的框架是
where pkw_0.keyword in (:kwd)
我使用String[]构造了一个形式为vals="'AVal','BVal'“的字符串,并使用setParameter("kwd",BVal)将其传递给查询;查询返回零结果。但是,如果我手动构造查询并使用mysql控制台,则查询将返回1个预期结果。
因此,我假设要么是单个字符串对于参数不正确,要么是在通过setParameter调用传递值之前需要对值进行一些调整。
让我说我有下面的查询。
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
恐怕两张桌子上都有一座同样的城市,她会给我的:
| City |
| -------- |
| NY |
| NY |
我在一个HTML中获取它,是否有一种方法与MySQL表结果行不同,其他方法是在表本身中创建另一列,例如列type。
也许可以在查询中追加结果集本身?