小编Ant*_*tti的帖子

INSERT INTO .. ON DUPLICATE KEY UPDATE for multiple items

我想做这样的事情

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?)但它会有很多查询,所以我真的想避免这种情况.

mysql

67
推荐指数
2
解决办法
6万
查看次数

php中的短唯一ID

我想创建一个独特的ID但是uniqid()给出类似的东西'492607b0ee414'.我想要的是类似于tinyurl给出的东西:'64k8ra'.越短越好.唯一的要求是它不应该有明显的顺序,它应该看起来比看似随机的数字序列更漂亮.字母比数字更受欢迎,理想情况下不会是混合字母.由于参赛人数不会那么多(最多10000人左右),因此碰撞的风险并不是一个很大的因素.

任何建议赞赏.

php uniqueidentifier unique-index

47
推荐指数
7
解决办法
7万
查看次数

使用OpenGL ES应用亮度和对比度

我想改变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)

iphone image-manipulation opengl-es image-processing

6
推荐指数
2
解决办法
8603
查看次数

允许同时游走图的算法

在描述一组要处理的任务的有向无环图中,我需要找到所有可以并发处理的任务。该图没有循环并且非常小(~1000 个节点,~2000 个边),性能不是主要问题。

具有所需结果的示例:

  • []是一个组。在继续之前必须处理组中的所有任务
  • [x & y]装置xy可同时处理(x和平行Y)
  • x -> y意味着x并且y必须按顺序处理(x 在 y 之前)

1

图1

a -> [b & c] -> c
Run Code Online (Sandbox Code Playgroud)

2

图2

[a & e] -> b -> c -> [d & f]
Run Code Online (Sandbox Code Playgroud)

3

图3

[ [a -> b] & [e -> f] ] -> [ [c -> d] & g ]
Run Code Online (Sandbox Code Playgroud)

我不想实际执行图形,而是构建一个尽可能并行的数据结构,同时保持顺序。算法的命名法和名称对我来说不是那么熟悉,所以我很难在网上找到类似的问题/解决方案。

algorithm dependencies graph-theory graph

6
推荐指数
1
解决办法
161
查看次数

使用NSOperation时EXEC_BAD_ACCESS

这与我的问题几乎相同,只是代码非常不同: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 cocoa-touch objective-c nsoperation

2
推荐指数
1
解决办法
574
查看次数