Criar tabela

10 respostas
R

ola, pessoal, sera q alguem pode me ajudar… to criando um sistema novo de postagem de notcias… até ai tudoo normal, ja tenhu uma tabela quase que pronta, só que quando vou acrescentar alguns campo na mesma, ai não consigo postar as noticias, a minha tabela funcionando fika assim



– Estrutura da tabela noticias

CREATE TABLE IF NOT EXISTS noticias (
id int(5) NOT NULL AUTO_INCREMENT,
id_user varchar(5) NOT NULL DEFAULT ‘4’,
id_cp char(3) NOT NULL DEFAULT ‘’,
id_ct char(3) NOT NULL DEFAULT ‘’,
data datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
data2 datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
chapeu text NOT NULL,
titulo text NOT NULL,
subtitulo text,
texto text NOT NULL,
foto varchar(255) DEFAULT NULL,
fotos_extras enum(‘S’,‘N’) NOT NULL DEFAULT ‘N’,
creditos_fotos varchar(255) NOT NULL DEFAULT ‘’,
alinhamento_foto enum(‘L’,‘R’) NOT NULL DEFAULT ‘L’,
largura_foto char(3) NOT NULL DEFAULT ‘250’,
altura_foto char(3) NOT NULL DEFAULT ‘’,
status enum(‘S’,‘N’) NOT NULL DEFAULT ‘S’,
PRIMARY KEY (id),
FULLTEXT KEY chapeu (chapeu)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


– Extraindo dados da tabela noticias

INSERT INTO noticias (id, id_user, id_cp, id_ct, data, data2, chapeu, titulo, subtitulo, texto, foto, fotos_extras, creditos_fotos, alinhamento_foto, largura_foto, altura_foto, status) VALUES
(1, ‘28’, ‘79’, ‘2’, ‘2011-04-25 18:00:00’, ‘2011-04-25 18:00:01’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘N’, ‘’, ‘L’, ‘’, ‘’, ‘S’),
(2, ‘28’, ‘79’, ‘2’, ‘2011-04-25 18:01:00’, ‘2011-04-25 18:01:50’, ‘asda’, ‘’, ‘’, ‘’, ‘’, ‘N’, ‘’, ‘L’, ‘’, ‘’, ‘S’);

so que eu teria que aumentar alguns campos, e quando eu aumento, para de cadastrar noticias… deveria conter estes campos aqui na nova tabela

id
id_user
id_cp
id_ct
id_col
chapeu
titulo
subtitulo
texto
autor
foto
cretido_foto
legenda_foto
alinhamento_foto
largura_foto
altura_foto
data
data2

seria mais ou menos issu, só não consegui fazer, sera que alguem pode me ajudar, ou me explicar onde esta o erro e komo posso resolve-lo

desde ja obrigado a todos

10 Respostas

Adelar

Olá,

no CREATE você está usando:

altera para uma das formas a seguir para o incremento da coluna “id” ser de um em um:

ou (pois o padrão para auto incremento é 1):

Outra coisa é que no INSERT você está informando a coluna “id”. Isto não é necessário, pois esta coluna já é incrementada automaticamente a cada registro inserido.

[]'s

R

vou tentar aqui…depois posto a resposta

R

O Problema continuaaa da mesma forma, mesmo fazendo o que me disse, não resolve o problema

Adelar

Olá,
se a coluna não existir você poderá incluir com ALTER, tal como em:

verifique se as colunas do INSERT são as mesmas do CREATE… todas que estão no CREATE que tem “NOT NULL” deverá estar no INSERT.

verifique também se a lista de colunas que você passou está correta… tem algumas colunas que não existem … tipo a “id_col”.

[]'s

R

$sql = “INSERT INTO $tabela VALUES (’’, ‘$usuario’, ‘$id_cp’, ‘$id_ct’, ‘$id_col’, ‘$data’, ‘$data2’, ‘$chapeu’, ‘$titulo’, ‘$subtitulo’, ‘$texto’, ‘$autor’, ‘’, ‘$fotos_extras’, ‘$creditos_fotos’, ‘$alinhamento_foto’, ‘$largura_foto’, ‘$altura_foto’, ‘S’)”;

$sql = "UPDATE $tabela SET id_user=’$usuario’, id_cp=’$id_cp’, id_ct=’$id_ct’, id_col=’$id_col’, data=’$data’, data2=’$data2’, chapeu=’$chapeu’, titulo=’$titulo’, subtitulo=’$subtitulo’, texto=’$texto’,

foto=’$foto1’, fotos_extras=’$fotos_extras’, creditos_fotos=’$creditos_fotos’, alinhamento_foto=’$alinhamento_foto’, largura_foto=’$largura_foto’, altura_foto=’$altura_foto’ WHERE id=’$id’";

esta é a pagina de cadastro de noticias… com o id_col iserido

e este aqui é o banco de dados que funciona, cadastra noticias



– Estrutura da tabela noticias

CREATE TABLE IF NOT EXISTS noticias (
id int(5) NOT NULL AUTO_INCREMENT,
id_user varchar(5) NOT NULL DEFAULT ‘4’,
id_cp char(3) NOT NULL DEFAULT ‘’,
id_ct char(3) NOT NULL DEFAULT ‘’,
data datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
data2 datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
chapeu text NOT NULL,
titulo text NOT NULL,
subtitulo text,
texto text NOT NULL,
foto varchar(255) DEFAULT NULL,
fotos_extras enum(‘S’,‘N’) NOT NULL DEFAULT ‘N’,
creditos_fotos varchar(255) NOT NULL DEFAULT ‘’,
alinhamento_foto enum(‘L’,‘R’) NOT NULL DEFAULT ‘L’,
largura_foto char(3) NOT NULL DEFAULT ‘250’,
altura_foto char(3) NOT NULL DEFAULT ‘’,
status enum(‘S’,‘N’) NOT NULL DEFAULT ‘S’,
PRIMARY KEY (id),
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


– Extraindo dados da tabela noticias

agora, desta forma se eu acrescentar o id_col no bd, ai ja naum cadastra mais as noticias…se eu deletar ela, volta a cadastrar normalmente, e crio o id_col do mesmo jeito que esta criado o id_ct e o id_cp

Adelar

Então o problema é esta coluna id_col mesmo. Se não insere os dados significa que os dados estão sendo passados de forma errada no insert. Pode ser um problema de ordem de colunas… tipo a coluna id_col como a última e como não está sendo usada coluna nomeada ocorre o erro.

É lançado qual erro de SQL?

[]'s

R

A coisa tah feia aquiii…ja to quaase desistintooo…cada vez fika mais complicadooo
ja tenteii de tduu e nada funciona

Adelar

Tenta ver se lança algum erro de SQL. Se não lança o mais provável é que os registros estejam sendo inseridos, mas com ids diferentes. Se ocorre envia o erro aqui no fórum.

Cria a coluna id_col que falta na tabela e executa o SQL a seguir:

INSERT INTO `noticias` (`id_user`, `id_cp`, `id_ct`, `data`, `data2`, `chapeu`, `titulo`, `subtitulo`, `texto`, `foto`, `fotos_extras`, `creditos_fotos`, `alinhamento_foto`, `largura_foto`, `altura_foto`, `status`, `id_col`) VALUES ('28', '79', '2', '2011-04-25 18:00:00', '2011-04-25 18:00:01', '', '', '', '', '', 'N', '', 'L', '', '', 'S', '');
Os dados são inseridos corretamente? O SQL a seguir retorna o registro que foi inserido?

[]'s

R

amanhã eu começo di novoo, ja mechi demais hoje, amanhã quem sabe com calma eu consiga, valeu a ajuda, qualquer coisa amanhã repasso aqui di novo…valeu a ajuda, amanhã logo cedo tento este codigo seu

vlw

abraços

R

Problema resolvidooo…conseguii instalar…esta funcionandoo

Criado 25 de abril de 2011
Ultima resposta 26 de abr. de 2011
Respostas 10
Participantes 2