![]() |
![]() |
--anonim-- |
![]()
Post
#1
|
Goście ![]() |
Witam, jak zrobić, aby do bazy nie dodawało się drugi raz np. takie samo imię i nazwisko? Próbowałem to zrobić w taki sposób, ale nie działa:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Lub założeniem klucza UNIQUE na pola imie ,nazwisko Ale czy to coś zmieni?Czy nie wysypie błędem podczas próby dodania tego samego użytkownika?Na pewno kwerenda zwróci false ,ale czy dodatkowo nie wysypie jakimś wyjątkiem? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, to mylisz składnię INSERT i UPDATE. Mylisz się. Taka składnia zapytania INSERT również jest dozwolona i prawidłowa, sam sprawdź.Jeśli nie chcesz dodawać drugi raz tego samego użytkownika do bazy ,musisz najpierw sprawdzić jego występowanie w bazie danych.Proponowałbym zainteresować się poleceniem EXISTS w MySQL. W MySQL EXISTS używamy raczej do czegoś innego i tylko z podzapytaniami lub poleceniami DDL (jak CREATE DATABASE, CREATE TABLE, itp.). W tak banalnym przypadku wystarczy zwykły SELECT zaproponowany przez Kużdo. Nie ma tutaj potrzeby dodatkowo obciążać bazy danych.Ale czy to coś zmieni?Czy nie wysypie błędem podczas próby dodania tego samego użytkownika?Na pewno kwerenda zwróci false ,ale czy dodatkowo nie wysypie jakimś wyjątkiem? Tutaj masz rację, zapytanie się nie wykona i zostanie zwrócony odpowiedni komunikat błędu. Klucz UNIQUE to raczej "wsparcie" dla bazy danych, a nie aplikacji, która z tej bazy danych korzysta.Pomijając to wszystko. W powiecie, w którym mieszkam mieszkają również co najmniej cztery osoby, które noszą takie samo imię i takie samo nazwisko, jak ja. Imię i nazwisko wbrew pozorom wcale nie muszą być czymś unikalnym. Ten post edytował mortus 2.05.2012, 17:50:48 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:54 |