Witam, Mam problem przy aktualizacji LMSa opartego na MySQLu. Prawdopodobnie związane jest to z przestarzała wersją ale proszę o potwierdzenie.
Spróbowałem więc założyć nową czystą bazę danych LMSa i przy wykonaniu skryptu lms.mysql w miejscu: / //CREATE TABLE assignments (// // id int(11) NOT NULL auto_increment,// // tariffid int(11) NOT NULL DEFAULT '0',// // liabilityid int(11) NOT NULL DEFAULT '0',// // customerid int(11) NOT NULL,// // period smallint NOT NULL DEFAULT '0',// // at int(11) NOT NULL DEFAULT '0',// // datefrom int(11) NOT NULL DEFAULT '0',// // dateto int(11) NOT NULL DEFAULT '0',// // invoice tinyint(1) NOT NULL DEFAULT '0',// // suspended tinyint(1) NOT NULL DEFAULT '0',// // settlement tinyint(1) NOT NULL DEFAULT '0',// // pdiscount decimal(4,2) NOT NULL DEFAULT '0',// // vdiscount decimal(9,2) NOT NULL DEFAULT '0',// // paytype smallint DEFAULT NULL,// // numberplanid int(11) DEFAULT NULL,// // PRIMARY KEY (id),// // FOREIGN KEY customerid REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,// // FOREIGN KEY numberplainid REFERENCES numberplans (id) ON DELETE SET NULL ON UPDATE CASCADE,// // INDEX tariffid (tariffid),// // INDEX customerid (customerid),// // INDEX numberplanid (numberplanid),// //) ENGINE=InnoDB;/
wywala błąd:
/ERROR 1064 (42000) at line 200: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,//// FOREIGN KEY num' at line 18
/Wygląda tak jak by składnia nie była zrozumiana dla BD.
Wersja serwera MySQL: 5.5.47-0+deb7u1-log Debian 7.0 wheezy - ostatnia dostępna aktualizacja z repozytoriów.
Trzeba nowszego MySQLa? Bazę zakładałem z wersji lmsa z GITa z marca 2013 roku czyli całkiem sporo czasu temu.