如何在插入多行时使用"ON DUPLICATE KEY UPDATE"增加MySql中的字段?
一排:
INSERT INTO table
(a, counter_elem)
VALUES
(1, 1)
ON DUPLICATE KEY UPDATE counter_elem = counter_elem+1;
Run Code Online (Sandbox Code Playgroud)
对于多行:
INSERT INTO table
(a, counter_elem)
VALUES
(1, 1),
(2, 1)
ON DUPLICATE KEY UPDATE counter_elem = ?;
Run Code Online (Sandbox Code Playgroud)
这不起作用:
counter_elem = VALUES(counter_elem)+1
Run Code Online (Sandbox Code Playgroud) 我希望通过google v8引擎访问javascript到我的c ++函数,并根据我的javascript函数中的参数返回结果.
我的javascript函数如下:
var result = MyFc(
{
'stringData':'abc',
'numberData':123,
'arrData':[1,2,3],
'objData':{'a':true,'b':false,'c':true},
'callback':function(){}
}
);
Run Code Online (Sandbox Code Playgroud)
我用了
global->Set(v8::String::New("myFc"), v8::FunctionTemplate::New(MyFc));
v8::Handle<v8::Value> MyFc(const v8::Arguments& args) {
obj = args[0]->...
if( obj->stringData != 'abc' ){
//....
}
if( obj->numberData != 123 ){
//....
}
if( obj->arrData[2] != 3 ){
//....
}
if( obj->objData->b == false ){
//....
}
if( obj->callback !='abc' ){
//....
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何解析c ++ v8中的arguments对象?我想访问参数中对象的所有键值,值可以是数字,字符串,数组,匿名函数或对象.