Mysql SQL脚本不会在Joomla中的组件安装中插入值
我正在为Joomla 2.5创建Joomla组件,但安装脚本有问题。在Mysql SQL脚本不会在Joomla中的组件安装中插入值,mysql,joomla,joomla2.5,joomla-component,Mysql,Joomla,Joomla2.5,Joomla Component,我正在为Joomla 2.5创建Joomla组件,但安装脚本有问题。在install.mysql.utf8.sql文件中,我有以下内容: DROP TABLE IF EXISTS `#__products`; CREATE TABLE `#__products` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, `description` varchar(128) NOT NULL, `pr
install.mysql.utf8.sql
文件中,我有以下内容:
DROP TABLE IF EXISTS `#__products`;
CREATE TABLE `#__products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`description` varchar(128) NOT NULL,
`price` int(11) NOT NULL,
`published` tinyint(1) NOT NULL DEFAULT 1,
`url` varchar(255),
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
# Insert default values
INSERT INTO `#__products` (`name`, `description`, `price`, `url`) VALUES
('product1', 'description1', 1000, 'image.png'),
('product2', 'description2', 2000, 'image.png'),
('product3', 'description3', 4000, 'image.png');
当我安装组件时,Joomla说它成功了。但是,当我检查数据库时,即使创建了表,默认值也没有添加到产品表中。如果我直接在mysql中运行INSERT
,它就可以正常工作(当然,必须更改表的名称)
如果我在SQL脚本中包含一个输入错误,我会得到一个错误,所以我看不出我的MySQL语法有什么问题。有人知道这里可能发生了什么,以及如何解决吗
谢谢。我终于让它开始工作了。我所做的唯一一件事是删除SQL文件顶部的
删除表IF EXISTS
,并将CREATE
-语句更改为以CREATE TABLE IF EXISTS
开头。就这样
我不知道为什么会这样,但可能是因为在执行insert时没有正确地删除/创建表,所以insert不起作用。希望这能帮助别人