Utvecklar grejer till en kund som har webbhotell hos cliche. Har använt version 4.x när jag utvecklat koden, men upptäckte att cliche har version 3. Misstänker att versionsskillnaden är boven i dramat, eller är jag ute och cyklar här? Som sagt använder jag själv 4.x och får inte något felmeddelande av följande query (ej heller på scorpionshops server), men på cliche blir det fel:
Kod:
You have an error in your SQL syntax near '(SELECT p.category_id cId,
COUNT(p.product_id) as category_product_count
' at line 4
Whole query:
SELECT c.*, t.category_product_count
FROM shop_category c
LEFT JOIN
(SELECT p.category_id cId,
COUNT(p.product_id) as category_product_count
FROM shop_product p
GROUP BY p.category_id
) t
ON
t.cId = c.category_id
Databasen är rätt så identisk på cliches server och min, bortsett från att jag var tvungen att modifiera lite grejer som tydligen inte stöds i MySQL 3.x såsom att jag ändrat tabellerna från:
Kod:
CREATE TABLE `shop_product` (
`product_id` int(11) unsigned NOT NULL auto_increment,
`category_id` int(11) NOT NULL default '0',
`product_price` decimal(15,4) NOT NULL default '0.0000',
`product_is_call_for_price` tinyint(1) NOT NULL default '0',
`product_is_always_free_shipping` tinyint(1) NOT NULL default '0',
`product_date_added` datetime NOT NULL default '0000-00-00 00:00:00',
`product_date_modified` datetime default NULL,
`product_date_available` datetime default NULL,
`product_image` tinytext,
`product_quantity` int(11) NOT NULL default '0',
`product_custom_id` varchar(32) default NULL,
PRIMARY KEY (`product_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
till:
Kod:
CREATE TABLE `shop_product` (
`product_id` int(11) unsigned NOT NULL auto_increment,
`category_id` int(11) NOT NULL default '0',
`product_price` decimal(15,4) NOT NULL default '0.0000',
`product_is_call_for_price` tinyint(1) NOT NULL default '0',
`product_is_always_free_shipping` tinyint(1) NOT NULL default '0',
`product_date_added` datetime NOT NULL default '0000-00-00 00:00:00',
`product_date_modified` datetime default NULL,
`product_date_available` datetime default NULL,
`product_image` tinytext,
`product_quantity` int(11) NOT NULL default '0',
`product_custom_id` varchar(32) default NULL,
PRIMARY KEY (`product_id`)
) TYPE=MyISAM;
Tycker inte att denna ändring bör påverka...
Så här ser shop_category ut:
Kod:
CREATE TABLE `shop_category` (
`category_id` int(11) unsigned NOT NULL auto_increment,
`category_parent_id` int(11) NOT NULL default '0',
`category_sort_order` int(3) default NULL,
`category_image` varchar(128) default '',
`category_date_added` datetime default NULL,
`category_date_modified` datetime default NULL,
PRIMARY KEY (`category_id`),
KEY `NewIndex` (`category_parent_id`,`category_id`)
) TYPE=MyISAM;
Mycket(!) tacksam för information om vad felet beror på!
Lite kul kan man väl ha åt följande mail? Varför ens svara när man inte svarar på kundens frågor? (Ok jag vet att man får vad man betalar för, och jag ska försöka få kunden att byta webbhotell...)
Citat:
Hej X
Det är inte något jag vet av, men det kan vära att det kommer engång
till näste år.
Vänliga hälsningar
X X
-------------------------------
Cliche Webhosting Sweden
X
Tlf. X
Fax. X
-------------------------------
x wrote:
> Hej, jag ser att MySQL-versionen som används på mitt konto är: MySQL 3.23.56
>
> Jag skulle behöva version 4.x för en vidareutveckling. Är det möjligt att ordna detta på något sätt? Eller blir vi tvungna att flytta till ett annat webbhotell?
>
> MVH X
|