我刚接触Postgres需要一些帮助,我在MySQL中创建了以下表格,但是在Postgres中创建相同的表时遇到了问题,我怎样才能在数据库Postgres中构建这些表?
CREATE TABLE `categorias` (
`id_categorias` int(10) unsigned NOT NULL AUTO_INCREMENT,
`categoria_nome` varchar(255) NOT NULL,
`categoria_slug` varchar(200) NOT NULL,
`data_alteracao` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id_categorias`),
UNIQUE KEY `id_categorias_UNIQUE` (`id_categorias`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='Tabela de Categorias para os arquivos de exemplo do Catálogo';
CREATE TABLE `produtos` (
`id_produto` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_categoria` int(10) unsigned NOT NULL,
`nome` varchar(255) NOT NULL,
`descricao` text NOT NULL,
`foto` varchar(45) NOT NULL,
`preco` decimal(10,2) unsigned NOT NULL,
`slug` varchar(255) NOT NULL,
`data_alteracao` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id_produto`),
KEY `FK_produtos_categoria` (`id_categoria`),
CONSTRAINT `FK_produtos_categoria` FOREIGN KEY (`id_categoria`) REFERENCES `categorias` (`id_categorias`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8;
答案 0 :(得分:0)
CREATE TABLE categorias
(
id_categorias serial NOT NULL,
categoria_nome varchar(255) NOT NULL,
categoria_slug varchar(200) NOT NULL,
data_alteracao timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ( id_categorias ),
constraint id_categorias_unique UNIQUE ( id_categorias )
);
COMMENT on table categorias is 'Tabela de Categorias para os arquivos de exemplo do Catálogo';
CREATE TABLE produtos
(
id_produto serial NOT NULL,
id_categoria int NOT NULL,
nome varchar(255) NOT NULL,
descricao text NOT NULL,
foto varchar(45) NOT NULL,
preco decimal(10,2) NOT NULL,
slug varchar(255) NOT NULL,
data_alteracao timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ( id_produto ),
CONSTRAINT FK_produtos_categoria FOREIGN KEY ( id_categoria ) REFERENCES categorias ( id_categorias )
);
create index idx_fk_produtos_categoria on produtos ( id_categoria );
有关创建表格的更多详细信息,请参见手册: