我有一个下面列出的功能.当我在LIMIT设置为0,60时调用它,如下所示,它工作正常.但是,每当我将LIMIT增加到70或更高,甚至删除LIMIT时,我在调用函数时出现错误:"行30153被GROUP_CONCAT()"删除".
我已经尝试将varchar值增加到10 000但这没有帮助.据我所知,从错误来看,它们似乎没有足够的空间作为内容的变量.但正如我所提到的,我已经尝试过增加尺寸,但它没有帮助.有任何想法吗??谢谢
DELIMITER $$
DROP FUNCTION IF EXISTS `fnAlbumGetPhotoList` $$
CREATE DEFINER=`root`@`%` FUNCTION `fnAlbumGetPhotoList`(_albumId int) RETURNS varchar(2048) CHARSET utf8
BEGIN
DECLARE _outPhotoList VARCHAR(2048);
SET _outPhotoList = (
SELECT (CAST(GROUP_CONCAT(CONCAT(photoId, '|', photoFileName) separator '~') AS CHAR(10000) CHARACTER SET utf8)) AS recentPhotoList
FROM
(
SELECT photoId, photoFileName
FROM photo
WHERE photoAlbumId = _albumId
AND photoIsDisabled = 0
AND photoIsActive = 1
ORDER BY photoId DESC
LIMIT 0,60
) as subQuery
);
RETURN _outPhotoList;
END $$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud) 我已经实现了JQuery UI选项卡,除了一个问题外,它们工作得很好......
所有我的内容的样式/类都被JQuery覆盖,我不想发生.例如,我有一个文本框:
<input type="text" id="profileFirstName" name="profileFirstName" class="textMedium" />
Run Code Online (Sandbox Code Playgroud)
如果我检查Firebug中的样式,我会看到这个(按此顺序):
.ui-widget :active {
outline:medium none;
}
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
font-family:Verdana,Arial,sans-serif;
font-size:1em;
}
input.textMedium {
width:200px;
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,JQuery已经在我自己之前添加了ui-widget样式,因此最重要的是我的.
它在我实现选项卡的每个地方都这样做.如何将其设置为GLOBALLY以使其样式不会覆盖我的?我不希望任何jquery样式影响选项卡式内容.
我想我可以覆盖他们的ui-widget样式并且在定义下什么都不做?但我想知道是否有更清洁的方式,以便他们的ui-widget样式根本不应用.
提前致谢!
给定一个子ID,我需要返回一个查询,其中包含该子项的所有父项以及他们的父项,直到我找到根父项.例如,给定这些数据:
ID / Parent ID
1 / 0
2 / 1
3 / 2
4 / 0
5 / 3
Run Code Online (Sandbox Code Playgroud)
所以如果我传入ID 5,我想得到一个查询结果:
ID / Parent ID
1 / 0
2 / 1
3 / 2
Run Code Online (Sandbox Code Playgroud)
这个表不适用于hierarchyid类型,所以我怀疑这需要用CTE完成,但不知道如何.如果它可以在SQL查询/ proc中完成,任何帮助将不胜感激.
谢谢
我目前正在使用Amazon S3来托管和提供我网站的图片.例如,链接如下所示:
http://s3.amazonaws.com/MyBucket/images/tn_1014.jpg
我想做的是让路径看起来更像我们原始网站的路径,例如:
http://www.mySiteName.com/images/tn_1014.jpg
怎么/怎么样我会去设置它.我想它可能是某种地方的某种映射,我只是不确定在哪里.我用IIS和Railo运行一个VPS盒子.这是我在网络服务器上设置的,还是DNS设置中的某个地方?
谢谢
我想在将其推送到分段和生产之前,在我的本地机器上测试https相关的开发.
目前的网址是:http://localhost:8500/mysite/index.cfm
工作正常
如果我尝试将其修改为https,则页面只会加载并加载并且没有任何反应(在chrome中它会显示"此网页不可用"页面)
我搜索了与此相关的信息,但没有发现任何有用的信息.我发现的唯一信息与旧版本的CF有关.从那以后我创建了一个my.keystore文件,但我不知道在CF9中如何处理它.
如果可以提供任何可以帮助我设置/使其工作和测试的信息,我将非常感激.谢谢
当使用Websockets并调用WSPublish时,我在Coldfusion(2016 UPDATE 5)中遇到了应用程序/会话范围的奇怪行为.
下面是说明此异常的代码:
<cfdump var="#application.Security.GetSession()#" label="1A application.Security.GetSession()">
<cfdump var="#session#" label="1B session">
<cfset wsPublish("notifications", "Test") />
<cfdump var="#application.Security.GetSession()#" label="2A application.Security.GetSession()">
<cfdump var="#session#" label="2B session">
Run Code Online (Sandbox Code Playgroud)
在1A和1B中,会话按照指示返回.
然后我运行WSPublish()函数.
在2A中,会话是空的,但在2B中它仍然像以前一样.
因此,在运行WSPublish()之后,当我尝试通过调用另一个CFC来检索它(2A)来访问会话时,它不存在.但是,直接访问会话时确实存在会话(2B).
所有的application.Security.GetSession()方法都是这样的:
<cfcomponent output="no">
<cffunction name="GetSession" returntype="any">
<cfif NOT IsDefined("session")>
<cfreturn StructNew() />
<cfelse>
<cfreturn session />
</cfif>
</cffunction>
</cfcomponent>
Run Code Online (Sandbox Code Playgroud)
如果我删除WSPublish()调用,则1A,1B,2A,2B都返回正确的会话数据.
为什么WSPublish()会导致此异常,如何解决?
谢谢!
我正在尝试UNION两个包含ORDER BY的查询.正如我所发现的那样,您无法通过属于UNION的查询进行排序.我只是不知道如何做这个查询呢.让我解释一下我要做的事情.
我知道使用Rand()函数的效率分支
SELECT profileId
FROM (SELECT profileId
FROM profile profile2
WHERE profile2.profilePublishDate <= Now()
ORDER BY profile2.profilePublishDate DESC
LIMIT 0,40) AS profile1
ORDER BY RAND()
LIMIT 0,20
UNION (SELECT profileId
FROM profile profile4
WHERE profileId NOT IN (SELECT profileId
FROM profile profile4
WHERE profile4.profilePublishDate <= Now()
ORDER BY profile4.profilePublishDate DESC
LIMIT 0,40)
ORDER BY RAND()
LIMIT 0,40) as profile3
ORDER BY RAND()
Run Code Online (Sandbox Code Playgroud)
更新:这是基于Abhay帮助的解决方案(感谢Abhay):
SELECT *
FROM
(
(
SELECT profileId
FROM
(
SELECT profileId
FROM profile …
Run Code Online (Sandbox Code Playgroud) 我需要根据登录用户的本地时区在我的应用程序中显示日期时间值.我希望我的应用程序能够自动检测用户的时区,然后相应地显示调整后的服务器日期和时间.
你是如何在Coldfusion中做到这一点的?
我正在寻找一种解决方案,它不会提示用户在任何时候选择他们的时区,比如Facebook.
谢谢
我的查询在没有MAX(colName)行的情况下运行正常.原始查询选择大约100列,但现在需要添加MAX(colName)列.显然,当我添加它们时,MS SQL会抱怨错误:
"Column 'applicationId' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause"
有没有办法添加这些计算值列而不必更改select中的其他100列?下面的示例已经过简化,但原始查询更大更复杂.
SELECT
g.applicationId,
-- (another 100 or so columns just like above)
-- max(g.AScore) as AScore,
-- max(g.APercentile) as APercentile
FROM application a
LEFT JOIN GREScores g ON a.applicationId = g.applicationId
WHERE g.applicationID = 1
Run Code Online (Sandbox Code Playgroud)
谢谢
UPDATE
看起来像@OVais提到的子查询方法就可以了.如果您认为这不是一个好方法,请告诉我原因:
SELECT
g.applicationId,
-- (another 100 or so columns just like above)
(SELECT MAX(AScore) FROM GREScores WHERE GREScores.applicationId …
Run Code Online (Sandbox Code Playgroud) 通常我在我的应用程序中使用整数id,但对于这一个dev我正在查找文本字段 - 标记名称.
我确实使用了cfqueryparam,但考虑到它是一个文本字段,它是否容易受到SQL注入攻击,如果是这样,除了繁琐地搜索字符串中的SQL命令之外,其他人如何解决这个问题.
我的查询看起来像:
SELECT tagId -- etc etc
FROM tag
WHERE tagName = <cfqueryparam cfsqltype="cf_sql_varchar" maxlength="50" value="#arguments.tagName#" />
Run Code Online (Sandbox Code Playgroud)
谢谢
coldfusion ×4
cfml ×2
mysql ×2
sql ×2
sql-server ×2
amazon-s3 ×1
coldfusion-9 ×1
css ×1
https ×1
jquery-ui ×1
ssl ×1
timezone ×1
union ×1