我想做这样的事情
INSERT INTO t (t.a, t.b, t.c)
VALUES ('key1','key2','value')
ON DUPLICATE KEY UPDATE
t.c = 'value';
INSERT INTO t (t.a, t.b, t.c)
VALUES ('key1','key3','value2')
ON DUPLICATE KEY UPDATE
t.c = 'value2';
Run Code Online (Sandbox Code Playgroud)
ta和tb是关键.这一切都很好,但我在第二次插入时出错.使用phpMyAdmin这样的查询工作正常,但我猜它是独立运行查询,因为它打印出该查询的结果作为注释?
这样的东西也会很好,但我需要为每个项目设置不同的值.我更喜欢这个,但我不确定如何更改每个值的更新值.
INSERT INTO t (t.a, t.b, t.c)
VALUES ('key1','key2','value'), ('key1','key3','value2')
ON DUPLICATE KEY UPDATE
t.c = ???
Run Code Online (Sandbox Code Playgroud)
问题在于问号,我应该放在那里以便每个插入/更新都具有正确的值?显然,如果我在其中放置一个值,那么所有字段都将获得该值.
如果有另一种方法可以使用两个键对多个字段进行"更新,如果存在,则插入"查询,我也可以使用其他想法.我想我可以单独运行每个查询(如phpMyAdmin?)但它会有很多查询,所以我真的想避免这种情况.
我想创建一个独特的ID但是uniqid()给出类似的东西'492607b0ee414'.我想要的是类似于tinyurl给出的东西:'64k8ra'.越短越好.唯一的要求是它不应该有明显的顺序,它应该看起来比看似随机的数字序列更漂亮.字母比数字更受欢迎,理想情况下不会是混合字母.由于参赛人数不会那么多(最多10000人左右),因此碰撞的风险并不是一个很大的因素.
任何建议赞赏.
我想改变iPhone上纹理的亮度和对比度.我一直在查看apple(GLImageProcessing)提供的示例,但它只能一次执行一个(调用示例中的两个方法都会覆盖以前的结果).
亮度非常好:
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
if (brightness >= 1.0f) {
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_ADD);
glColor4f(brightness-1, brightness-1, brightness-1, brightness-1);
} else {
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_SUBTRACT);
glColor4f(1-brightness, 1-brightness, 1-brightness, 1-brightness);
}
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_PRIMARY_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
Run Code Online (Sandbox Code Playgroud)
在此之后如何添加纹理对比度呢?或者,移植到OpenGL ES 2.0并使用着色器执行此操作会更好吗?
以下是来自apple的示例中对比度的代码:
glActiveTexture(GL_TEXTURE0);
glVertexPointer (2, GL_FLOAT, sizeof(V2fT2f), &quad[0].x);
glTexCoordPointer(2, GL_FLOAT, sizeof(V2fT2f), &quad[0].s);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_PRIMARY_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_INTERPOLATE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glActiveTexture(GL_TEXTURE1); …Run Code Online (Sandbox Code Playgroud) 在描述一组要处理的任务的有向无环图中,我需要找到所有可以并发处理的任务。该图没有循环并且非常小(~1000 个节点,~2000 个边),性能不是主要问题。
具有所需结果的示例:
[]是一个组。在继续之前必须处理组中的所有任务[x & y]装置x和y可同时处理(x和平行Y)x -> y意味着x并且y必须按顺序处理(x 在 y 之前)1
a -> [b & c] -> c
Run Code Online (Sandbox Code Playgroud)
2
[a & e] -> b -> c -> [d & f]
Run Code Online (Sandbox Code Playgroud)
3
[ [a -> b] & [e -> f] ] -> [ [c -> d] & g ]
Run Code Online (Sandbox Code Playgroud)
我不想实际执行图形,而是构建一个尽可能并行的数据结构,同时保持顺序。算法的命名法和名称对我来说不是那么熟悉,所以我很难在网上找到类似的问题/解决方案。
这与我的问题几乎相同,只是代码非常不同:http://www.cocoabuilder.com/archive/message/cocoa/2009/3/24/233015
我想将一些处理卸载到NSOperation,传递一个文件名作为NSOperation加载和解析的引用.应用程序EXEC_BAD_ACCESS在进入时崩溃-(void)init.
以下是我启动操作的方式:
int n = [files count];
for (int i = 0; i < n; i++) {
NSString *filename = [files objectAtIndex:i];
FilterParseOperation *parser = [[FilterParseOperation alloc] initWithContentsOfFile:filename];
[filterParseQueue addOperation:parser];
[parser release], parser = nil;
}
Run Code Online (Sandbox Code Playgroud)
在剥离了我在NSOperation中的所有内容之后,我仍然以崩溃告终.以下代码崩溃:
#import "FilterParseOperation.h"
@implementation FilterParseOperation
- (id)initWithContentsOfFile:(NSString *)aFilename {
filename = aFilename;
return self;
}
- (void)dealloc {
[filename release], filename = nil;
[super dealloc];
}
- (void)main {
// do nothing!
}
@end
Run Code Online (Sandbox Code Playgroud)
这是崩溃的汇编程序输出(我不是很容易理解它的内容).这在__opLock中的addOperation之后直接发生
0x305ce610 …Run Code Online (Sandbox Code Playgroud) iphone ×2
algorithm ×1
cocoa-touch ×1
dependencies ×1
graph ×1
graph-theory ×1
mysql ×1
nsoperation ×1
objective-c ×1
opengl-es ×1
php ×1
unique-index ×1