* W5 q; i1 C3 b4 B d如果列为空,将会导致该语句不能运行。fetchone()函数返回None,而你将会获取一个错误:NoneType不支持下标。如果有一个默认值,你能常常使用ISNULL,或者在SQL数据库直接合并NULLs来覆盖掉默认值。; B' Y) n+ T7 b' i, ^; v; p& P9 B9 Z
1 maxid = cursor.execute("select coalesce(max(id), 0) from users").fetchone()[0] ' o. }& Y6 H N6 n" E * {/ w. W+ v9 [6 P% o+ X' i在这个例子里面,如果max(id)返回NULL,coalesce(max(id),0)将导致查询的值为0。