روش رفع خطای ایمپورت اطلاعات در دیتابیس جوملا با خطای 1064 - error in your SQL syntax
در برخی مواقع ممکن است در هنگام انتقال اطلاعات از یک دیتابیس جوملایی به دیتابیس دیگر مثلا هنگام انتقال اطلاعات از لوکال به هاست برای ایمپورت اطلاعات در دیتابیس با خطا مواجه شویم که باعث عدم ایمپورت شدن اطلاعات ما در دیتابیس میشود که یکی از این خطاهای دیتابیس خطایی با مضمون زیر هست:
این خطا به دلیل تفاوت در نسخه mysql هاست مبدا و هاست مقصد ما رخ میدهد. در نسخه های قدیمی mysql برای نوع ENGINE از عبارت type استفاده میشد ولی در نسخه های جدیدتر از همان عبارت ENGINE استفاده میشود که بطور واضح تر به این شکل هست که برای حل این مساله در هنگام ایمپورت اطلاعات در دیتابیس خود ابتدا فایل sql خود را با یک ادیتور متنی مانند notpade++ باز کنید و عبارتهای type=MyISAM را به ENGINE=MyISAM تغییر داده و مجددا فایل خود را در دیتابیس جوملای خودتان ایمپورت کنید. در مواقعی هم ممکن هست که TYPE=InnoDB باشد که باید به ENGINE=InnoDB تغییر دهید. بطور مثال:
این کد را:
{code class="brush: sql;"}CREATE TABLE `sample_user_usergroup_map` (`user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Foreign Key to #__users.id', `group_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Foreign Key to #__usergroups.id', PRIMARY KEY (`user_id`,`group_id`)) TYPE=MyISAM;{/code}
به شکل زیر باید تغییر کند:
{code class="brush: sql;"}CREATE TABLE `sample_user_usergroup_map` (`user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Foreign Key to #__users.id', `group_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Foreign Key to #__usergroups.id', PRIMARY KEY (`user_id`,`group_id`)) ENGINE=MyISAM;{/code}