首页 > 代码库 > 技术杂选

技术杂选

php 连接sqlserver2008 

下载正确版本的 ntwdblib.dll (2000.80.194.0)
覆盖 apache2.2.6\bin\ntwdblib.dll 
php.ini 
打开php.in将extension=php_mssql.dll的注释符号去掉。
打开php.in将mssql.secure_connection = Off改为on。
网上的教程是这样的‘mssql.secure_connection = On’,本地链接正常。
但,对于链接局域网的服务器应该是mssql.secure_connection = Off。
详细:http://luoke920.iteye.com/blog/793463

Mysql 快速改变列的默认值

不是所有的ALTER TABLE 操作都会引起表重建。例如,有两种方法可以改变或者删除一个列的默认值(一种方法很快,另外一种则很慢)。假如要修改电影的默认租赁期限,从三天改到五天。下面是很慢的方式:
mysql> ALTER TABLE sakila.film  
-> MODIFY COLUMN rental_duration TINYINT(3) NOT NULL DEFAULT 5; 
SHOW STATUS 显示这个语句做了1 000 次读和1 000 次插入操作。换句话说,它拷贝了整张表到一张新表,甚至列的类型、大小和可否为NULL 属性都没改变。
理论上,MySQL 可以跳过创建新表的步骤。列的默认值实际上存在表的.frm 文件中,所以可以直接修改这个文件而不需要改动表本身。然而MySQL 还没有采用这种优化的方法,所有的MODIFY COLUMN 操作都将导致表重建。
另外一种方法是通过ALTER COLUMN 注16 操作来改变列的默认值:
mysql> ALTER TABLE sakila.film  
-> ALTER COLUMN rental_duration SET DEFAULT 5; 
这个语句会直接修改.frm 文件而不涉及表数据。所以,这个操作是非常快的。




技术杂选