Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在opencart2.0中,我想创建一个ocmod扩展。在install.sql中,如何确定数据库字段是否存在?_Opencart_Ocmod - Fatal编程技术网

在opencart2.0中,我想创建一个ocmod扩展。在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

在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(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();