Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Douglas

Incompatibilidade?

Recommended Posts

Existe algum tipo de incompatibilidade de formato de campos da versão 4 e 4.1?Tenta executar essa query em um servidor com Mysql 4.

CREATE TABLE `tblarquivos` (                                                                                                           `id` smallint(4) unsigned NOT NULL auto_increment,                                                                                   `cliente` smallint(4) unsigned NOT NULL default '0',                                                                                 `tipo` char(1) character set latin1 collate latin1_general_ci NOT NULL default 'D',                                                  `titulo` varchar(255) character set latin1 collate latin1_general_ci NOT NULL default '',                                            `descricao` text character set latin1 collate latin1_general_ci NOT NULL,                                                            `dthora` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,                                                   `tamanho` decimal(10,0) NOT NULL default '0',                                                                                        `url` varchar(100) character set latin1 collate latin1_general_ci NOT NULL default '',                                               PRIMARY KEY  (`id`),                                                                                                                 UNIQUE KEY `id` (`id`),                                                                                                              KEY `arquivos_fk` (`cliente`),                                                                                                       CONSTRAINT `arquivos_fk` FOREIGN KEY (`cliente`) REFERENCES `tblclientes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE               ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='InnoDB free: 3072 kB'

O código acima foi gerado com um servidor 4.1.Apresenta o erro - Error Code : 1064You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'collate latin1_general_ci NOT NULL default 'D', (511 ms taken)Retirando os 'set latin1 collate latin1_general_ci', apresenta outros erros e assim vai...Alguma forma de contornar esse problema? Se ter que instalar a versão 4 localmente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

CREATE TABLE `tblarquivos` ( 
`id` smallint(4) unsigned NOT NULL auto_increment, 
`cliente` smallint(4) unsigned NOT NULL default '0', 
`tipo` char(1) NOT NULL default 'D', 
`titulo` varchar(255) NOT NULL default '', 
`descricao` text NOT NULL, 
`dthora` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, 
`tamanho` decimal(10,0) NOT NULL default '0', 
`url` varchar(100) NOT NULL default '', 
PRIMARY KEY (`id`), 
UNIQUE KEY `id` (`id`), 
KEY `arquivos_fk` (`cliente`)
) ENGINE=InnoDB;

#esta linha só pode ser executada após a criação da tabela tblclientes
ALTER TABLE `tblarquivos` FOREIGN KEY (`arquivos_fk`) REFERENCES `tblclientes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE

 

para outras alterações de uma olhada nisso

http://www.akadia.com/services/mysql_survival.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Manual do MySQL ele fazem muita referência a versão 4.1, provavelmente é o que você imaginou ser. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sintaxe utilizada na versão 4.1 é bastante diferente das versões anteriores, como por exemplo, o uso de relacionamentos, e etc..., com isso haverá sempre conflito se você tentar utilizar a sintaxe mais nova nas versões anteriores, obviamente. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.