PHP mysql新增字段问题

数据库表 table
新增字段 json

怎么判断json字段是否存在?如果不存在的话,创建个字段json 为varchar格式

因为代码是好多程序公用的...有的数据库已经有json这个字段了,有的没有..怎么在插入的时候判断下...

阅读 2.4k
2 个回答

MySQL的information_schema库中有个COLUMNS表,里面记录了mysql所有库中所有表的字段信息。所以直接根据这个表的信息查各个表有没有json这个字段,然后创建即可。

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;
IF NOT EXISTS(SELECT 1 FROM  information_schema.COLUMNS WHERE TABLE_SCHEMA='(数据库名,自己替代)' AND table_name='table' AND COLUMN_NAME='json') THEN
     ALTER TABLE `table` ADD `json` VARCHAR(255) NOT NULL;
END IF;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题