Чат Telegram
Группа ВКонтакте
Новый комментарий


Pavel-Tonk

В теме "Вторая нормальная форма" - 2 пример, MySQL ругается на то что нет ";" в конце, а так же на "---" вместо "--"=)

--- Удалить дублирующие данные пользователей из таблицы customers
DELETE c1.* FROM customers AS c1 INNER JOIN customers AS c2 ON c1.telephone = c2.telephone WHERE c1.id > c2.id
ivashkevich

Спасибо, поправил.

radinpasha13@gmail.com

DELETE c1.* FROM customers AS c1 INNER JOIN customers AS c2 ON c1.telephone = c2.telephone WHERE c1.id > c2.id;.Можете объяснить подробнее эту строчку.Что означает точка и звездочка и знак больше в конце?

85bogdan45

Плюсую вопрос. Не понял откуда возникли с1, с2

radinpasha13@gmail.com

c1 и c2- псеводнимы, вроде как.

ivashkevich

Это алиасы для таблицы customers.

ivashkevich

Точка и звёздочка - это всё поля таблицы. Джойним табличку саму на себя. Находим записи с одинаковыми телефонами и удаляем ту, у которой id больше, чем у другой. Таким образом остается только одна запись для каждого номера.

radinpasha13@gmail.com

Спасибо,теперь ясно

fosfat

А почему у вас в типе данных VARCHAR значение занимаемого объема стоит, например, 256, 1000, 500? В то время, как значение этого типа НЕ может быть больше 255, у вас же это даже указано в таблице статьи "Команды MySQL". Для длинных строк стоит использовать, например, TEXT и др.

То же самое наблюдаю в предыдущей и последующей статьях.

ivashkevich

В современных версиях MySQL это ограничение гораздо больше.

fosfat

Действительно. В официальной документации по последней 8 версии указано, что диапазон значений от 0 до 65,535. Цитата: "Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 65,535".

Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно
Логические задачи с собеседований