在系统部署时候经常有sql提交,然而像ddl,dml文件重复执行则会报错,此篇文章是在网上搜罗了一些的常见情况的解决方法。
一、操作表的语句
对表进行操作,需要编写存储过程来进行判断后再进行操作。在information_schema表中数据进行判断,使用了select database()方法查询当前使用数据库(因为information_schema查询出来是所有数据库的信息)
操作
SQL语句
修改表名
alter table t_book rename to bbb;
添加列
alter table 表名 add column 列名 varchar(30);
删除列
alter table 表名 drop column 列名;
修改列名
alter table bbb change nnnnn hh int;
修改列属性
alter table t_book modify name varchar(22);
存储过程
删除列
--删除列
drop PROCEDURE if EXISTS add_col_homework;
create procedure add_col_homework() BEGIN
IF EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA in (select database()) AND table_name='mytable' AND COLUMN_NAME='mycolumn')
THEN
ALTER TABLE `mytable` DROP COLUMN