MySQL 建表时 AUTOINCREMENT的用法

建表时设定AUTOINCREMENT,若表中字段id中的最大值为9,而创建表的时候AUTOINCREMENT=12,则下次通过程序往表app中insert数据,且没有指定字段id的值时,下次的id将从12开始计算起,而不是10。

比如有些数据原来是写死的,没有记录到数据库中,后来由于需求变化需要做成动态管理,需要保存到数据库中,而原来有部分id已经被使用了,不能用于其它的,此时AUTOINCREMENT就被派上用场了。

如果创建表时不指定AUTOINCREMENT=12,则id为10的值将用于新增记录,将会发生岐义,所以一定要注意。

联通光猫 拨号改桥接

家里换了联通100M宽带,送的是中兴F427Za光猫,默认开启路由功能。

送的光猫简直没有自己能DIY的功能,弱爆。

不能修改DHCP,不能端口转发,没有DLNA,没有5G HZ的Wi-Fi。

自用的Netgear R6300v2, 设置好的ip-mac绑定也不想再设一遍。

把光猫缺省的拨号设置改为桥接,用路由器拨号联网就可以了。

光猫的管理界面,惨不忍睹。

修改PPPoE为bridge,管理界面显示的是不可修改。

chrome inspect进入编辑模式,定位到下拉框,删除disabled。选中bridge。

修改为桥接模式。

DONE.

python format函数

通过{}:来代替%。字符串的format函数可接受不限参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。传list/tuple/dict给format函数,非常方便。

通过位置:

>>> '{},{}'.format('dora',17)

'dora,17'

>>> '{0},{1}'.format('dora',17)

'dora,17'

>>> '{1},{0},{1}'.format('dora',17)

'17,dora,17'

通过关键字:

>>> '{name},{age}'.format(name='dora',age=17)

'dora,17'

通过对象属性:

>>> class Person:

... def __init__(self,name,age):

... self.name,self.age = name,age

... def __str__(self):

... print 'This guy is {self.name},is {self.age} old'.format(self=self)

通过下标:

>>> p = ['dora', 17]

>>> '{0[1]},{0[0]}'.format(p)

'17,dora'

格式限定符

语法是{}中带:号,填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,默认是用空格填充

>>> '{:>8}'.format(17)

' 17'

>>> '{:0>8}'.format(17)

'00000017'

>>> '{:0a>8}'.format(17)

>>> >>> '{:a>8}'.format(17)

'aaaaaa17'

精度常跟类型f一起使用

>>> '{:.2f}'.format(17.1234567)

'17.12'

b、d、o、x分别是二进制、十进制、八进制、十六进制

>>> '{:b}'.format(17)

'10001'

>>> '{:d}'.format(17)

'17'

>>> '{:o}'.format(17)

'21'

>>> '{:x}'.format(17)

'11'

用,号金额的千位分隔符

>>> '{:,}'.format(171234567)

'171,234,567'