我有一张带id柱子的桌子.ids按升序排列,但不一定是连续的.例如:1,2,3,5,6,10,11,12
我需要找到下一个"free"id,即max(id)+ 1(如果表为空,则为1).
目前我在PHP中这样做:
function get_free_id($con) {
$sql = "SELECT MAX(id) AS last_id FROM Table";
$last_id_query = mysql_query($sql, $con);
$last_id_result = mysql_fetch_array($last_id_query);
$last_id = $last_id_result['last_id'];
return ($last_id == NULL) ? 1 : ($last_id + 1);
}
Run Code Online (Sandbox Code Playgroud)
我觉得这个功能对于这个简单的任务来说"太长了",并且可以做得更简单.
我对吗 ?怎么样 ?
假设我用C++编写了一个程序而没有使用RTTI和运行时多态(没有虚函数,没有虚继承),并且类没有私有/受保护成员,也没有使用C++特定的头文件(即C头)文件被使用:cstring,cstdio,...代替string,iostream......).
然后我想在C中编写一个类似的程序,其中函数的第一个参数类型对应于相关的struct.
例如:
//C++ code
struct Custom
{
int a;
Custom() { }
void change() { }
~Custom() { }
};
int main()
{
Custom m; //init m
m.change();
//destroy m
}
/*C code*/
struct Custom
{
int a;
};
void custom_init(Custom* like_this) { }
void custom_change(Custom* like_this) { }
void custom_destroy(Custom* like_this) { }
int main()
{
Custom m;
custom_init(&m);
custom_change(&m);
custom_destroy(&m);
}
Run Code Online (Sandbox Code Playgroud)
C++程序是否比类似的C程序慢(一般)?如果是的话,为什么C程序会更快?我知道,C++使用RAII设计模式进行内存管理,这是缓慢的原因吗?
我听说有些人说C程序更快......为什么?
编辑:为什么这个问题被关闭?我想知道c ++是否还做了我们不需要的东西,以及它如何影响性能(使它更慢?更快?或什么都没有?).
我在选择正确的异常类型时遇到一些麻烦时遇到了一些麻烦(我更喜欢现有的 .NET 异常之一)。
在这种情况下你有什么建议?提前致谢。
编辑:
这是他的背景:
[<ExpectedAttribute()>]
let foo args ... = ...
Run Code Online (Sandbox Code Playgroud)
该函数foo(用户定义的)被传递到运行时引擎。如果自定义属性不存在,运行时必须抛出异常。
这就是我得到的,更新的
$avg_query = "SELECT AVG(rating) AS avg_rating
FROM kicks
WHERE userid = '$userid'";
$avg_result = mysqli_query($cxn, $avg_query) or die("Couldn't execute query.");
$row = mysqli_fetch_assoc($avg_result);
$average = $row['avg_rating'];
Run Code Online (Sandbox Code Playgroud)
每当我回复它时,它总是返回数组.从来没有使用过这个功能,但我不明白为什么会这样做.
我安装了几个R包~/R/i486-pc-linux-gnu-library/2.11.
我想制作它们,以及我从现在开始安装的任何其他R包,可供所有R用户使用.我不介意重新安装我已经在中立的地方的包(他们只是几个).那我该怎么做?
所以我有这个页面:
http://hub.iis.sinica.edu.tw/cytoHubba/
显然它是各种各样的搞砸了,因为它被正确解码但是当我尝试将它保存在postgres中时,我得到:
DatabaseError: invalid byte sequence for encoding "UTF8": 0xedbdbf
Run Code Online (Sandbox Code Playgroud)
数据库在此之后吵了起来并拒绝做任何事情而没有回滚,这将有点难以发布(长篇故事).有没有办法让我检查一下它是否会在它到达数据库之前发生?source.encode("utf-8")顺利运行,所以我不确定发生了什么......
如何在Java(Android)中将String转换为Uri?即:
String myUrl = "http://stackoverflow.com";
Run Code Online (Sandbox Code Playgroud)
myUri = ???;
我找不到Eclipse的Android开发工具插件的源代码.它似乎被移动了几次,当我谷歌问题时,答案指向错误的地方.此外http://source.android.com/discuss似乎是下降.
class C
end
var = "I am a local var outside"
C.class_eval do
def self.a_class_method
puts var
end
end
Run Code Online (Sandbox Code Playgroud)
我知道,这是不正确的,因为def创建了一个新的范围.我也知道use define_method可以在不创建新范围的情况下创建实例方法,但我的观点是如何定义类方法.
有人声称LISP中的单个命名空间会导致不卫生的宏. http://community.schemewiki.org/?hygiene-versus-gensym
http://www.nhplace.com/kent/Papers/Technical-Issues.html
具有导致宏观卫生的单个,双重或多个名称空间究竟是什么?
android ×2
mysql ×2
php ×2
.net ×1
adt ×1
c ×1
c++ ×1
class-method ×1
clojure ×1
closures ×1
comparison ×1
dynamic ×1
eclipse ×1
exception ×1
hygiene ×1
install ×1
java ×1
lisp ×1
macros ×1
packages ×1
performance ×1
plugins ×1
postgresql ×1
python ×1
r ×1
ruby ×1
scheme ×1
sql ×1
string ×1
unicode ×1
uri ×1