鍍金池/ 問答/PHP  數(shù)據(jù)庫/ PHP mysql新增字段問題

PHP mysql新增字段問題

數(shù)據(jù)庫表 table
新增字段 json

怎么判斷json字段是否存在?如果不存在的話,創(chuàng)建個(gè)字段json 為varchar格式

因?yàn)榇a是好多程序公用的...有的數(shù)據(jù)庫已經(jīng)有json這個(gè)字段了,有的沒有..怎么在插入的時(shí)候判斷下...

回答
編輯回答
離人歸

MySQL的information_schema庫中有個(gè)COLUMNS表,里面記錄了mysql所有庫中所有表的字段信息。所以直接根據(jù)這個(gè)表的信息查各個(gè)表有沒有json這個(gè)字段,然后創(chuàng)建即可。

IF NOT EXISTS( SELECT NULL
            FROM INFORMATION_SCHEMA.COLUMNS
           WHERE table_name = 'tablename'
             AND table_schema = 'db_name'
             AND column_name = 'json')  THEN
  ALTER TABLE `TableName` ADD `json` VARCHAR(255) NOT NULL;
END IF;
2017年11月28日 12:16
編輯回答
厭惡我
IF NOT EXISTS(SELECT 1 FROM  information_schema.COLUMNS WHERE TABLE_SCHEMA='(數(shù)據(jù)庫名,自己替代)' AND table_name='table' AND COLUMN_NAME='json') THEN
     ALTER TABLE `table` ADD `json` VARCHAR(255) NOT NULL;
END IF;
2018年7月21日 02:30