wielokrotne wyniki w MySQL Workbench

0

cześć,
nie mogłem znaleźć podobnego wątku wiec proszę was o pomoc. Uczę się podstaw sql i mam problem z wyświetlaniem wyniku. Utworzyłem 6 użytkowników a program wyświetla mi ich 138 - zapętla się w tych wynikach. W czym rzecz? co robie źle, że wyświetla nieprawidłową ilość użytkowników?
111.png2222.png

0

INSERT INTO users(username, display_name, year_of_birth) VALUES('AsiaS', 'Joanna Stryczek', 1966);
INSERT INTO users(username, display_name, year_of_birth) VALUES('BarbraG', 'Barbara Grabara', 1956);

INSERT INTO users(username, display_name, year_of_birth) VALUES('ZuzA', 'Zuza Arbuza', 1986),  ('ZuzH', 'Zuza Hajabuza', 1998),
('JurekK', 'Jerzy Kaktus', 1944), ('JanZ', 'Janek Zgredzio', 1966);

INSERT INTO user_groups (group_name) VALUES ('programiści'), ('narciarze'), ('ćpuny'), ('gracze'), ('brzydale');

INSERT INTO users_to_groups (user_id, group_id) VALUES (1, 1), (1, 3), (2, 4), (3, 1), (3, 5), (4, 2), (4, 4), (5, 1), (5, 2), (6, 5); 

SELECT DISTINCT year_of_birth FROM users order by year_of_birth;

SELECT * FROM users;
SELECT * FROM user_groups;
SELECT * FROM users_to_groups;

po wpisaniu komendy

SELECT COUNT(username) FROM users;

otrzymuję wynik: 144

3

Strzelam, że odpaliłeś to zapytanie insert into więcej niż raz, stąd masz duplikaty.

Zrób delete from users; i odpal insert into ponownie, tym razem tylko raz (np. zakomentowując te insert into-a dla pewności).

7

I tutaj zapisz sobie, żeby w wolnej chwili poczytać sobie o constraintach. Dzięki nim mógłbyś na poziomie bazy zablokować możliwość utworzenia dwóch użytkowników o tej samej nazwie (bo raczej dwóch ich być nie powinno).

1 użytkowników online, w tym zalogowanych: 0, gości: 1