繁体   English   中英

SQL 脚本不会在 Joomla 中的组件安装中插入值

[英]SQL-script does not insert values in component installation in Joomla

我正在为 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,
  `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 文件顶部的DROP TABLE IF EXISTS ,并将CREATE语句更改为以CREATE TABLE IF NOT EXISTS开头。 就是这样。

我不确定为什么会这样,但可能是插入不起作用,因为在执行插入时没有正确删除/创建表。 希望这会帮助别人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM