现在我要实现 如果表$class[chanpin]没有RADMIN_ENABLE字段, 就添加这个字段, 并且把表中所有数据的该字段都置为1。这个要怎么写?下面写的不太对, 不管原先有没有RADMIN_ENABLE都置1了                @$db->updatequery("ALTER TABLE `".$class[chanpin]."` ADD `RADMIN_ENABLE` VARCHAR( 80 ) NOT NULL AFTER `AUTOCFG_REFRESH`");                @$db->updatequery("update `".$class[chanpin]."` set `RADMIN_ENABLE`='1' where 1");

解决方案 »

  1.   

    MYSQL 5以上可以查找系统表
      

  2.   

    参考一下这个,如果是5.0或以上版本:
    mysql> select column_name from information_schema.columns where table_name='tt';
    +-------------+
    | column_name |
    +-------------+
    | id_from     |
    | id_to       |
    | ctry        |
    | cntry       |
    | country     |
    +-------------+
      

  3.   

    打开上述记录集,循环判断
    OR
    用捕获错误的方法、
    OR
    用ADO、ADOX方法取得所有字段名
      

  4.   

    4.1的数据库,没有information_schema
      

  5.   

    那可以用这个查询: 
    mysql> show columns from tt;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | id_from | varchar(32) | YES  |     | NULL    |       |
    | id_to   | varchar(32) | YES  |     | NULL    |       |
    | ctry    | varchar(32) | YES  |     | NULL    |       |
    | cntry   | varchar(32) | YES  |     | NULL    |       |
    | country | varchar(32) | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    5 rows in set (0.02 sec)
      

  6.   

    4.1的数据库你可以直接运行这个 DESC tableName columnName; 看看有没有记录集返回。