我有一个用于提取MySQL表条目的查询,这取决于用户所做的搜索输入,然后呈现出来。
$abfrage = "SELECT id, motivname, preis, masse, produktart, neu, angebot FROM $db.artikel
INNER JOIN $db.formate ON $db.artikel.format=$db.formate.format
WHERE (UPPER(motivname) LIKE UPPER('%{$keywordAct}%')
OR id LIKE '%{$keywordAct}%'
我尝试在Server中执行此查询:
select * from users where case when 1=1 then name is null else true end;
但我发现了一个错误:
关键字'is‘附近的不正确语法
此查询在MySQL中成功工作。您能告诉我SQL Server中这个查询的等价性吗?
目标
当前的目标是将文件附件作为来自任何网络用户的BLOB数据插入到BLOB数据库中。它可以来自任何文件夹,例如;桌面。
问题
这是唯一允许在C:/ProgramData/MySQL/MySQL Server 8.0/Uploads中正确使用load_file()函数的路径。如果我尝试在这里使用这个路径:--C:/Users/eduards/Desktop--值显示为null。
工作MySQL查询
insert into document_control (fileattachment) values (load_file('C:/ProgramData/MySQL/MySQL Ser
我使用MySQL 5.6遇到了这个例子:
此查询工作正常,并返回预期结果:
select *
from some_table
where a = 'b'
and metadata->>"$.country" is not null;
但是,这个查询(惟一的区别是where子句的顺序)返回一个错误。
select *
from some_table
where metadata->>"$.country" is not null
and a = 'b';
MySQL返回的错误是
将参数1中的无效JSON文本用
我有如下所示的更新查询。
update logs join user
set logs.userid=user.userid
where logs.log_detail LIKE concat("%",user.userID,"%") and user.userID != "";
我想要做的是连接日志表记录,它没有空logs.logId数据。
logs.logId is not null
当我使用"on“条件时,我认为mysql首先用所有数据连接两个表,然后检查logs.logId是否为空。我真正想做的是,首先消除日志记录,它具有空的lo
假设我有四个名为a、b、c、d的变量,作为用户的输入,我希望在我的应用程序中有这样的查询:
Select *
from TABLE
where (TABLE.FIELD = 'a' OR a = null)
AND (TABLE.FIELD = 'b' OR b = null) ..
有办法在查询中像这样绑定我的变量吗?我正在使用MySQL和Python。
提前感谢
我创建了一个数据库,它使用:
create table test.data(
id int not null,
description varchar(255),
image blob not null,
primary key (id)
);
这个成功了。然后我尝试使用以下方法将数据插入到表中:
insert into test.data
values(1, "Image one", LOAD_FILE('D:\Ecommerce\site\image1.jpg'));
但最后我说column 'image' cannot be
我有两个表,每个表有几千行,我需要基于两个日期时间之间的日期时间来连接它们。
select SQL_NO_CACHE * from A
left outer join R on R.ActivityDate > A.StartDate and R.ActivityDate < A.EndDate;
目前查询速度相当慢。我尝试添加索引,但根据explain的输出,它们没有被使用。对于这样的查询,合适的索引策略是什么?使用between而不是<>似乎没有什么不同。
如果执行直接连接,查询速度将提高13倍(返回的行数减少7%),但从逻辑上讲,我需要返回不匹配的行。在额外的行
我想在MySQL中更新一个表,如下所示:
UPDATE Table
SET A = '20' IF A > 20
SET A = A IF A < 20
SET A = 0 IF A <= 1
WHERE A IS NOT NULL;
但上述SQL不是有效语法。我还尝试了这个:
UPDATE table
SET A = IF(A > 20, 20, IF(A < 20, A, 0));
但也是无效语法。如何在这样的update查询中使用if语句?
我正在对mysql数据库执行查询。
有一个名为source的列,其默认值为NULL,用于标记远程数据。
在我的开发服务器上,我使用了一个像DELETE FROM mytable WHERE source这样的查询--这个查询可以很好地工作,并删除了source中值的所有行。
在实时服务器上,此查询无法删除任何行。我假设我需要使用DELETE FROM mytable WHERE source IS NOT NULL。
然而,奇怪的是,mysql对待NULL值的方式会有所不同。这种行为会因mysql版本而异吗?或者,我是否需要在实时服务器上查找导致此查询失败的其他原因?
请我正在做一个where子句从select查询如下,可以一些帮助我如何添加-CSI工作IS NULL或>= '9/3/2010‘和where查询。请看下面的查询
SELECT *
FROM ABNESCCX
WHERE SQL <> 'C'
AND [MYSQL] = 'B' OR [MYSQL] = 'D'
AND [CSI JOB] IS NULL
OR >= '9/3/2010'
AND [TN
我在mysql中有一个名为cfixed表的表,如下所示
我需要得到Null的计数,而不是Null的日期,如下所示
我编写了一个mysql查询,用于获取null和null日期的计数,如下所示
用于获取非空日期,但不显示0计数。
SELECT date, COUNT(*) counts FROM cfixed WHERE fixed IS NOT NULL GROUP BY date
用于获取该日期的空日期计数,但未显示0计数
SELECT date, COUNT(*) counts FROM cfixed WHERE fixed IS NULL GROUP BY date
有
我对MySQL还是个新手。考虑下表:
ID INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
User_name VARCHAR(35) NOT NULL,
Full_name VARCHAR(55) NOT NULL,
User_vars VARCHAR(255) NOT NULL,
BirthDay DATE NOT NULL,
password CHAR(70) NOT NULL,
Security_hint VARCHAR(27) NOT NULL,
Email VARCHAR(225) NOT NULL,
use
因为MySQL对NOT IN查询的性能非常差。所以我尝试使用LEFT JOIN重写这个查询,但是我的查询结果似乎不一致。我不太确定我在这方面哪里出错了。
下面是我的MySQL查询:
SELECT DISTINCT '' AS ID,
ADNO,
PDATE,
REMARKS
FROM AOE_tbl
WHERE ADNO NOT IN
(SELECT adno.meta_value AS 'ADNO'
FROM wp_postmeta AS adno
我已经创建了Mysql函数,它给出的结果是整型或空值。它适用于所有值。如果在简单查询中使用此函数,它也会按预期工作,如下所示:
select distinct(hsd.hotel_id)
from hotel_season_detail hsd
where '2019-04-26' BETWEEN hsd.season_fromdate and hsd.season_todate and hsd.stop_sale >'2019-04-26' and getHotelMarkupManagementId(hsd.id,'AFG') is
我为我的网站创建了一个高级搜索页面。当我在本地主机上运行时,所有这些都可以工作,但是当我在远程服务器上上传相同的页面时,在php中有一个不工作的条件。
我的想法是,如果没有编译任何内容,用户就可以使用
$query = "SELECT * FROM table";
当一个输入被填充时,它会添加WHERE子句和我需要的部分查询。
这是我的密码:
public function fetch_this($a, $b, $c, $d){
$search_connection = new Search_connection();//connect to database
我为mysql提供了一个运行良好的sql查询。查询在两个表中都是最大数值,并在mysql中返回好的值,我必须在sql server中执行相同的查询,但在cast附近告诉我错误的语法错误,期望为。
下一个查询是:
SELECT MAX(CAST(RIGHT(nrt, 5) AS UNSIGNED))
FROM
(
SELECT nrt from asp where nrt != ' ' and nrt is not null
UNION ALL
SELECT nrt from asp_historic where nrt != ' ' and n
我在读mysql ,
这是手册中的一个例子。
示例创建一个Multiple-Column Indexes,索引为(last_name,first_name)
CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
INDEX name (last_name,first_name)
);
手册上说这个查询将使用索引。
SELECT * FROM test
WHERE
即使数据与查询不匹配,MySQL也总是发送“默认响应”!
如果没有数据与查询匹配,我如何设计我的查询以从MySQL获得错误代码?
我需要一个错误代码从MySQL创建一个404或410页。
SELECT
place.ID AS id,
place.latitude AS lat,
place.longitude AS lng,
IF(
place.translationID IS NULL,
place.name,
placel10n.text
) AS cityname,
IF(
admcode.translationID IS NULL,
'',
statel10n.te
我正在尝试创建一个存储过程,以便在csv中生成一些报告。签名如下:
CREATE PROCEDURE testSP (IN filename VARCHAR(100),
IN study VARCHAR(100))
SP基于'study‘输入参数创建带有条件WHERE子句的查询。
DECLARE studyFilter TEXT DEFAULT '';
IF (study IS NOT NULL AND study != '') THEN
SET @studyFilter = CONCAT(' AND st
我有一个名为'test‘的简单MySQL表,其中有两列:
调用'id'Varchar(3000)列的自动增量int列称为“textcol”
我在表中创建了一个索引,该索引是基于“textcol”列的。但是,ORDER查询似乎没有使用索引,即在一个简单查询上的EXPLAIN语句在文本中的ORDER显示为NULL,并且在其输出的键列中显示为NULL,并且还使用文件。
任何要更改以帮助使用ORDER索引的指针对我来说都是有用的。
由"mysql -版本“命令提供的MySQL版本:
mysql Ver 14.14远端5.1.58,用于使用readline 6.2的deb
我使用以下查询创建一个表:
create table a (
`id` int not null auto_increment,
b varchar(10),
primary key (`id`)
);
执行
select distinct `id` from a order by `b`;
导致此错误:
错误3065 (HY000):ORDER子句的表达式#1不在SELECT列表中,引用列'portal.a.b‘不在SELECT列表中;这与DISTINCT不兼容
但如果我将查询更改为
select `id` from a group by `id` order b
当我在where子句中使用索引时,我不能理解为什么下面的MySQL查询变慢了。让我抓狂的那一栏叫做删除。该表包含4.8M行。
查询:
SELECT SQL_NO_CACHE SUM(amount)/100 FROM transactions WHERE (type="Payment" or type="Refund") and deleted is NULL
当列是索引时,查询花费的时间略高于11秒,当列没有索引时,查询耗时为3秒,或者当我使用USE INDEX()时,它会告诉优化器不要使用任何索引。
MySQL版本5.6,在AWS Aurora db.r5.x
阅读MySQL ,我们看到了这个具有多列索引name的示例表。
CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
INDEX name (last_name,first_name)
);
并举例说明索引将或不使用的情况。例如,它将用于这样的查询:
SELECT * FROM test
WHERE last_name='Widenius' AN
每当发生SQLException时,我都希望重新执行查询,有时我会得到
SQLException occurred... com.mysql.jdbc.exceptions.jdbc4.
MySQLTransactionRollbackExceptionDeadlock
found when trying to get lock; try restarting transaction
我的代码如下。数据库为MySQL InnoDB。请建议...
String sqlquery = "UPDATE tbl_users SET abill=?"
有一些(困难的) MySQL查询
SELECT
*,
(
SELECT
MIN(tbl.id)
FROM
stat tbl
WHERE
tbl.id > stat.id
and tbl.user_id=stat.user_id
) next_session_id,
(
Select
(case
when next_session_i
我的feed_listingjob有两个日期时间字段:
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_incremen
我在mysql中有一个查询。
SELECT
*
FROM
Accounts AS a
WHERE
('s' IS NULL OR (a.FirstName LIKE CONCAT('s','%') OR
a.LastName LIKE CONCAT('s','%') OR
a.FullName LIKE CONCAT('s','%')
我有以下MySQL-Query:
$sql = "SELECT `eid` FROM `"._ST_EVENT."` WHERE `tid` = ".$tid." AND DATE(`zeitpunkt`) >= CURDATE() ORDER BY `zeitpunkt` ASC;";
变量$tid可以为NULL,但应解释为“0”。是否可以直接在mysql查询中执行此操作,或者在执行查询之前是否应该有一个像这样的if子句?
if ($tid == NULL) {
$tid = 0;
}
谢谢!
我正在将应用程序的一部分从MySQL迁移到DynamoDB。我尝试重写的一个查询看起来像这样(在SQL中):
select .... from ... where value is null or value = false;
我想知道,如何在DynamoDB中重写析取(此OR子句)?目前,我只检查该值是否为false:
scanExpression.addFilterCondition("value", new Condition().
withComparisonOperator(ComparisonOperator.EQ).
withAttributeVa
请考虑以下查询:
SELECT
1 IN (
SELECT 1 FROM SYSIBM.dual WHERE FALSE
) AS a,
1 IN (
SELECT NULL FROM SYSIBM.dual WHERE FALSE
) AS b
FROM SYSIBM.dual;
这两个谓词都检查常量值是否在空集中。唯一的区别是其中一个空集中有一个NULL文字,在我看来,这是不相关的。这两个结果都应该是FALSE,因为在一个空集合中从来没有值。不过,我明白了:
A|B|
-|-|
0| |
正如预期的那样,A是FALSE,但是B IS NULL,这没有任
我正在努力将mysql查询转换为sql server,但是当我运行该查询时,它给了我错误The multi-part identifier "e.EpVisitCount" could not be bound.,这里我已经发布了我的两个查询--请您查看一下,为什么它在sql server中给了我错误?
Mysql查询(工作良好):
UPDATE
tb_EpVisitRange as v left JOIN tb_Episode as e ON (v.company_id = e.CustID) AND (v.CMW = e.CMW)
这是MySQL中的一个bug (5.1.41-社区)
CREATE TEMPORARY TABLE zztest (stuff varchar(20) NULL)
INSERT INTO zztest
SELECT
'test'
FROM (
select '1' as testcol
union
select null
) a
WHERE **IF(a.testcol IS NULL,'',a.testcol)** IS NOT NULL
这是一个简化的查询。在**'s之间的IF表达式应该是粗体的。它来
我需要编写一个MySQL语句,但不确定如何使用case语句来编写它。
我想写这样的东西:
SELECT
*
FROM
table
WHERE:
IF sign_off_1 IS NOT NULL AND sign_off_1 IS NOT EQUAL TO 'Director'
sign_off_1_status MUST BE EQUAL TO Complete
IF sign_off_2 IS NOT NULL AND sign_off_2 IS NOT EQUAL TO