Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: soujirito en 19 Diciembre 2017, 10:41 am



Título: ¿ Cómo puedo evitar registros duplicados con PDO y SQL ? solucionado
Publicado por: soujirito en 19 Diciembre 2017, 10:41 am
Eh solucionado el tema del formulario y la bsdd, asignando una clave foranea al Id, y una clave primaria al correo, de esa manera, solamente compara el campo email con la bsdd y si es igual, no inserta el sql ! gracias de todos modos por la ayuda :D.

La idea era no repetir el mismo registro dos veces, y conseguido bualá ! :silbar: :silbar:

un saludo...!

Pego el código por si alguien lo necesita !

-- phpMyAdmin SQL Dump
-- version 4.7.4
-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 22-12-2017 a las 20:10:29
-- Versión del servidor: 10.1.28-MariaDB
-- Versión de PHP: 7.1.11

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Base de datos: `aula_plus`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `usuarios`
--

CREATE TABLE `usuarios` (
  `nombre` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
  `apellidos` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
  `comunidad_autonoma` varchar(255) COLLATE utf8_spanish2_ci NOT NULL,
  `elegir_tema` varchar(255) COLLATE utf8_spanish2_ci NOT NULL,
  `comentario` text COLLATE utf8_spanish2_ci NOT NULL,
  `pregunta` text COLLATE utf8_spanish2_ci NOT NULL,
  `password` varchar(100) COLLATE utf8_spanish2_ci NOT NULL,
  `id` int(11) NOT NULL,
  `correo` varchar(100) COLLATE utf8_spanish2_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;

--
-- Volcado de datos para la tabla `usuarios`
--

INSERT INTO `usuarios` (`nombre`, `apellidos`, `comunidad_autonoma`, `elegir_tema`, `comentario`, `pregunta`, `password`, `id`, `correo`) VALUES
('Usuariol', 'apellidos1', 'Región de Murcia', 'Enfermería', 'ssssssssssss', 'ssssssssssss', '$2y$10$amDvsmYpTQ89m2utzIxmAe58Gs1nBTLRRuS/2mvzlKIjaBJlUvXf.', 3, 'aa@gmail.com'),
('Usuario2', 'apellidos2', 'Región de Murcia', 'Enfermería', 'ssssssssssss', 'ssssssssssss', '$2y$10$3XaAuV/IUtMAcJFJtDRboOzlaZD/hsxS4uV91wwNkFvWPFq9B9R.a', 1, 'ss@gmail.com');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `usuarios`
--
ALTER TABLE `usuarios`
  ADD PRIMARY KEY (`correo`),
  ADD KEY `id` (`id`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `usuarios`
--
ALTER TABLE `usuarios`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Título: Re: ¿ Cómo puedo evitar registros duplicados con PDO y SQL ?
Publicado por: engel lex en 19 Diciembre 2017, 12:19 pm
No leí el código (los códigos deben ir en etiquetas GeSHi)

Pero claramente es cosa de estudiar un poco más de MySQL, primero que nada, si hay valores que no deben repetirse, en la tabla configuraa el campo como único


Título: Re: ¿ Cómo puedo evitar registros duplicados con PDO y SQL ?
Publicado por: soujirito en 19 Diciembre 2017, 12:38 pm
si en eso estoy por las tardes haciendo un curso del sef de BSDD, jeje, a ver si el profe me echa una mano, seguro que es algo sencillo de hacer. Seguiré buscando o a ver si algún compi puede mirarlo mejor y echarme una mano gracias jeje.