2014-04-16 4 views
2

Joomla 2.5 용 Joomla 구성 요소를 만들고 있지만 설치 스크립트에 문제가 있습니다.SQL 스크립트가 Joomla의 구성 요소 설치에 값을 삽입하지 않습니다.

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'); 

내가 구성 요소를 설치할 때, 줌라 그것이 성공적인 였다고 다음 install.mysql.utf8.sql 파일에서 나는 다음과 같은 내용이있다. 그러나 데이터베이스를 검사 할 때 테이블이 생성 되었더라도 기본 값이 제품 테이블에 추가되지 않았습니다. 내가 INSERT을 mysql에서 직접 실행하면 잘 동작합니다 (당연히 테이블의 이름을 변경해야합니다).

SQL 스크립트에 오타를 포함하면 오류가 발생하므로 MySQL 구문에 어떤 문제가 있는지 알 수 없습니다. 아무도 여기에서 무슨 일이 벌어 질지에 대한 단서를 가지고 있습니까? 어떻게 해결할 수 있습니까?

감사합니다.

답변

2

나는 마침내 작동하게 만들었습니다. 내가 한 유일한 일은 DROP TABLE IF EXISTS을 SQL- 파일의 맨 위에 놓고 -statement를 CREATE TABLE IF NOT EXISTS으로 시작하도록 변경하는 것입니다. 그거였다.

왜이 기능이 작동하는지 잘 모르겠지만 삽입이 실행될 때 테이블이 제대로 삭제되지 않았기 때문에 삽입이 작동하지 않을 수 있습니다. 희망이 다른 사람을 도울 것입니다!

+0

+1 실제로이 사실을 알지 못했기 때문에 잘 찾았습니다. 200 명 이상의 담당자가있는 것을 보면, Joomla 전용 포럼으로 진행하는 데 도움이되는 [Joomla Answers Proposal] (http://area51.stackexchange.com/proposals/58842/joomla?referrer=Ph_HGDW6OiEqU7r0cS-muA2)에 맡기시겠습니까? StackExchange 사이트? – Lodder

+0

고맙습니다. 나는 당신이 제안서에 대해 질문하고 헌신 할 때 해냈습니다. – bvx89

+0

감사합니다. 많이 감사드립니다 :) – Lodder