在编写升级脚本的时候经常需要判断一个MySQL表是否存在某字段,一般是通过查询 information_scheme库中的相关信息,这里提供另外一个思路:
从目标表中查出一条记录,判断目标字段是否存在,不过由于目标表可能为空表可以使用连接查询,使得查询结果至少有1条记录
SELECT * from ims_bz_bargain_activity right JOIN (select 1 as aaa) as t1 on 1= 1 limit 1
php判断字段不存在之后添加字段的代码:
$res = pdo_fetch('SELECT * from ims_bz_bargain_activity right JOIN (select 1 as aaa) as t1 on 1= 1 limit 1');
if(!isset($res['general_int_1'])){
pdo_run("ALTER TABLE `ims_bz_bargain_activity` ADD COLUMN `general_int_1` INT NULL DEFAULT '0' ;");
}