在opencart2.0中,我想创建一个ocmod扩展。在install.sql中,如何确定数据库字段是否存在?
在opencart2.0中,我想创建一个ocmod扩展,在install.sql中,我需要修改数据库字段。修改数据库字段时,需要确定该字段是否存在。我尝试了多种不同的方法,但似乎都不管用。有什么想法吗?提前谢谢 这是我的install.sql,但它是错误的在opencart2.0中,我想创建一个ocmod扩展。在install.sql中,如何确定数据库字段是否存在?,opencart,ocmod,Opencart,Ocmod,在opencart2.0中,我想创建一个ocmod扩展,在install.sql中,我需要修改数据库字段。修改数据库字段时,需要确定该字段是否存在。我尝试了多种不同的方法,但似乎都不管用。有什么想法吗?提前谢谢 这是我的install.sql,但它是错误的 DROP PROCEDURE IF EXISTS add_col_need_credit; DELIMITER $$ CREATE PROCEDURE add_col_need_credit() BEGIN IF NOT EXISTS(SE
DROP PROCEDURE IF EXISTS add_col_need_credit;
DELIMITER $$ CREATE PROCEDURE add_col_need_credit() BEGIN IF NOT EXISTS(SELECT column_name FROM information_schema.columns WHERE table_name='oc_customer_group_description' AND column_name='need_credit' ) THEN ALTER TABLE `oc_customer_group_description` ADD `need_credit` numeric(10,4) NOT NULL default 0; END IF;END$$ DELIMITER ;
CALL add_col_need_credit();
这不是错误,您可以在mysql控制台中使用它
DROP PROCEDURE IF EXISTS add_col_need_credit;
DELIMITER $$ CREATE PROCEDURE add_col_need_credit() BEGIN IF NOT EXISTS(SELECT column_name FROM information_schema.columns WHERE table_name='oc_customer_group_description' AND column_name='need_credit' ) THEN ALTER TABLE `oc_customer_group_description` ADD `need_credit` numeric(10,4) NOT NULL default 0; END IF;END$$ DELIMITER ;
CALL add_col_need_credit();
这是我的install.sql,但它是错误的。如果存在删除程序,则添加需要的信用;分隔符$$CREATE PROCEDURE add_col_need_credit BEGIN IF NOT exists从信息_schema中选择列名称。列中的表名称='oc_customer_group_description'和列名称='need_credit',然后更改表oc_customer_group_description add need_credition numeric 10,4非空默认值0;如果结束;结束$$分隔符;呼叫add\u col\u need\u credit;更新你的问题,而不是评论。更新,你看,思考
DROP PROCEDURE IF EXISTS add_col_need_credit;
DELIMITER $$ CREATE PROCEDURE add_col_need_credit() BEGIN IF NOT EXISTS(SELECT column_name FROM information_schema.columns WHERE table_name='oc_customer_group_description' AND column_name='need_credit' ) THEN ALTER TABLE `oc_customer_group_description` ADD `need_credit` numeric(10,4) NOT NULL default 0; END IF;END$$ DELIMITER ;
CALL add_col_need_credit();