Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/05/2016, 04:11
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como agregar una primary key (llave primaria)

Creí que se entendía claramente que lo que tenias que hacer es QUITAR ese DROP que has puesto, que no corresponde en esa sentencia.

Lo segundo, es que tienes que poner correctamente el tipo de columna en la fecha, por ejemplo DATETIME, y a nivel programación, pasar la fecha e su correcto formato "AAAA-MM.DD HH:mm:ss", que si miras lo que usas te podrás dar cuenta claramente qué tienes que modificarle... .¿No te parece?

Finalmente, ¿Por qué no defines la PK directamente en el CREATE?
Código MySQL:
Ver original
  1. CREATE TABLE `comentarios` (
  2.  `id` int(11) NOT NULL PRIMARY KEY,
  3.  `aut` varchar(100) COLLATE utf8_spanish_ci NOT NULL,
  4.  `c` text COLLATE utf8_spanish_ci NOT NULL,
  5.  `fecha`DATETIME NOT NULL,
  6.  `ip` varchar(20) COLLATE utf8_spanish_ci NOT NULL
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

A nivel buenas prácticas:
1) NO uses campos denominados "id", ponles un nombre más característico: ID_COMENTARIO, por ejemplo. Caso contrario tarde o temprano tendrás problemas en la redacción de las consulta debido a joins incorrectos (si los usas implícitos).
2) Nunca uses una sola letra para columnas. Pueden terminar chocando contra los alias que uses, y además no dicen NADA, es decir que no son claros. UN campo "C" en lugar de ponerles "comentarios", es un defecto de diseño.
3) No abrevies en exceso o demasiado poco. A los campos ponles los nombres claros. "AUT", por no poner "autor"... francamente.
4) En diseños de este tipo, los autores se manejan en tablas separadas, salvo que tengas una de anonimos. Habria que ver el diseño, pero para autorías de comentarios en un sistema d e foros, no se ponen los nombres de los autores sino los ID de usuarios... con su correspondiente definición de FK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)