MySQL判断表和字段不存在再添加

  1. 不能直接Drop表,要用CREATE TABLE IF NOT EXISTS来创建表
  1. 脚本必须可重复执行,如果要Insert数据必须先Delete


如果字段添加要先判断不存在再添加:

DROPPROCEDUREIFEXISTSpro_AddColumn;

DELIMITER $$

CREATEPROCEDUREpro_AddColumn()

BEGIN

ifnotexists(select 1 frominformation_schema.`COLUMNSwheretable_schema='数据库'andtable_name=''andcolumn_name='字段')then

  altertable数据库.add字段datetime;

endif;

END$$

DELIMITER;

 

CALLpro_AddColumn;

DROPPROCEDUREpro_AddColumn;

修改字段跟MSSQL有所不同:

alter table oa_vehicleused change ID ID bigint(20) NOT NULL AUTO_INCREMENT;

 

  1. Insert语句必须改成一条批执行语句(多行用逗号隔开),可以大大提升执行速度


你可能感兴趣的:(数据库,MySQL)