Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2018, 02:46
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Значения элементов поля "id" в таблице MySQL
Здравствуйте в очередной раз, уважаемые пользователи сего сайта!

Вчера столкнулся с такой проблемой:

В MySQL создал таблицу с некоторым названием, в которую добавил поле с названием "id", назначил ему автоинкремент (что делается наверное во всех подобных случаях) и стал заполнять эту таблицу всякими разными элементами...
Ну автоинкремент не подвёл меня к счастью (за что ему огромнейшее спасибо), НО...........
КОГДА Я В ПОРЯДКЕ ОБУЧЕНИЯ/ЭКСПЕРИМЕНТА УДАЛЯЮ, СКАЖЕМ 1-Й (ЛИБО 2-Й) ЭЛЕМЕНТ ИЗ 3-Х (ЛИБО БОЛЕЕ) ЭЛЕМЕНТОВ, ТО ЗНАЧЕНИЯ СТОЛБЦА "ID", ПО ЛОГИКЕ ВЕЩЕЙ, ДОЛЖНЫ ОБНОВЛЯТЬСЯ ТАК, ЧТОБЫ В КОНЕЧНОМ ИТОГЕ ОНИ СНОВА ВЫГЛЯДЕЛИ ТАК: [1, 2, 3,......N].

ВОПРОС № 1: ПОЧЕМУ ЭТОГО НЕ ПРОИСХОДИТ?
ВОПРОС № 2: КАК ЭТО ИСПРАВИТЬ?
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2018, 05:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от garrip91
ПОЧЕМУ ЭТОГО НЕ ПРОИСХОДИТ?
Домашнее задание - при создании таблицы и определения поля как поле с автоинкрементом, какие еще свойства при этом получает это поле?

Сообщение от garrip91
КАК ЭТО ИСПРАВИТЬ?
После выполнения домашнего задания ответить на вопрос - нужно ли это делать?
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2018, 17:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Не используйте личку, ваша тема не тот случай, когда она нужна.

Все верно - "A_I", это поле с автоинкрементом, а "PRIMARY" означает, что это первичный ключ и если посмотреть в РМА индексы таблицы, то можно видеть, что данное поле будет иметь уникальные значения (уникальный индекс). При этом не важно как именуется поле, это не обязательно id должно быть, можете назвать его как душе угодно. Имя id (близкое к этому) выбирают исключительно для логического восприятия. Это сокращение от identifier - идентификатор, а идентификатор, это признак (или набор признаков), которые являясь уникальными позволяют идентифицировать объект/сущность/итд. У вас также имеется такой идентификатор - паспорт, в котором есть серия и номер, которые являются уникальными (не повторяющимися) признаками этого документа. По этому идентификатору можно с легкостью определить владельца паспорта и его подноготную.

Вопрос - можно или нельзя после смерти использовать серию и номер паспорта усопшего при выдачи паспорта другому лицу и почему?

Ваш код изобилует детскими ошибками (это я о предыдущей теме), и ноги этих ошибок растут от того, что изучать язык вы хотите через каку. Не зная простых основ языка (а SQL тоже язык как и РНР), начинаете решать задачи, которые нужно решать после изучения основ.
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2018, 22:00
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Насчёт лички - принял к сведению, больше так не буду (как говорят провинившиеся дети ).

Насчёт главного момента...
Полностью согласен с уместностью примера с усопшим (очень оригинально, кстати, и не каждый бы до этого додумался - !_ЗДЕСЬ_САРКАЗМА_НЕТ_!).
Но всё же, неужели применительно к данному случаю не существует ни одного способа присвоения значений "id" (наших так называемых "усопших") новым элементам???
Дико извиняюсь конечно, но я сейчас нахожусь в процессе обучения и именно в данный момент весь мой процесс обучения "заморожен" из-за этой проблемы с "усопшими" ((
Ответить с цитированием
  #5 (permalink)  
Старый 03.12.2018, 06:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от garrip91
"заморожен" из-за этой проблемы
А где тут проблема?

Обучение предполагает обязательное изучение предмета, и если изучать, то могут возникать вопросы только по сложным ситуациям, скажем так "непонятных".

Если в запросе для уникального первичного поля указать не null значение, а конкретное, то SQL выдаст ошибку, если такое значение уже есть в базе, или вставит запись в базу, если такого нет. Если в запросе указано игнорировать дубликаты, то данная запись в базе будет обновлена.

Первичный ключ с автоинкрементом на то и призван быть уникальным, чтобы идентифицировать сущности, поэтому использовать уже использованные значения, это значит с легкостью можно нарушить целостность данных в базе или поставить раком пользователей.

Интеллигентная дама покупает у вас в интернет-магазине, который торгует товарами от и до, ароматы бренда "Вань Лянь", бережно храня у себя ссылку на этот товар, который в магазине под id = 13. Буйвол крестьянина Вань Лянь вытоптал в его огороде траву и поставки зелья в магазин прекратились. Но другой бренд "Хунь Линь" предлагает вам исключительную вещь - фаллоимитатор соответствующий канонам ин и янь, и феншую, который вы выставляете в магазине под освободившемся id 13.

Последняя капля аромата у дамы источила благоухания, а дамам свойственно хотеть благоухать всегда, и по этой причине она извлекает драгоценную ссылку на бренд "Вань Лянь", напрягая браузер с придыханием попадает на страницу за вожделенным. Но что это!? .... Гугл в шоке, дама в обмороке.

Ну не повезло мадам, чертова дюжина же или все же владелец магазина с головой не дружит?

Последний раз редактировалось laimas, 03.12.2018 в 06:22.
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2018, 07:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от garrip91
очень оригинально, кстати
Ничего оригинального, это естественное, что вас окружает сплошь и рядом. Проблема в зацикливании и не желании (умения) абстрагироваться. Компьютер, этот тот ящик, который позволил нам оцифровать реальность - позволяет производить расчеты не карандашом в тетрадке, имитировать сложные физические процессы, иметь искусственный интеллект. Но оцифровывает человек, опираясь на свои знания и жизненный опыт, без человека компьютер, это просто ящик без мозгов. То есть, для вас кем-то уже созданы языки, которые имеют инструкции позволяющие производить как простые (однозначные) операции так и сложные операции с ветвлениями, которые определяются условиями. Эти языки также описывают различный набор данных, которыми мы пользуемся и в реальности. Ваша задача сводится к тому, чтобы используя язык оцифровать реальную задачу для ящика с процессором. Но чтобы это сделать нужно изучать инструкции, типы данных, операции над данными.

Самое ценное для студента заочника, это методичка позволяющая изучать предмет последовательно, не забегая вперед. Вас же не заставляли в первом классе решать интегральные уравнения. Если бы заставляли, то вы бы дойдя до десятого оставались бы неучем, и то что дважды два четыре было бы для вас открытием. А судя по задачам которые вы решаете после сомнительных видео уроков и задаваемым вопросам, вы обучение производите через задницу, то есть методики нет и близко.

Изучать предмет можно на любых носителях, видео материал не исключение. Но я могу заключить пари, что вы не найдете в сети сериал по языку программирования начиная от его рождества и заканчивая его распятием. В мультиках о языке не будет всех тех подробностей и интонаций, которые есть в оригинале, сценарий всегда есть урезанная версия оригинального произведения. А если еще и сценарист плохой, вместо оригинала сценарист представляет свою трактовку, сценарий изобилует художественными домыслами, то это кода. Такое видео также вредно как и Дом 2, Камеди Клаб, Малаховы и прочие видео помои.

Полезные видео уроки, это качественный материал на какие-то актуальные темы, но у зрителя при этом уже должен быть определенный базис. Если вы думаете, что изучите материал исключительно по мультикам жуя попкорн и не заглядывая в первоисточники, то это заблуждение.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получение значения поля eidicon jQuery 4 02.07.2012 19:06
Получение значения поля объекта зная путь к полю и сам объект mgvmax Общие вопросы Javascript 11 07.03.2012 19:09
Как сделать размер ячейки в таблице не больше определённого значения? javascript_pupil (X)HTML/CSS 16 18.02.2012 12:52
замена значения поля input maxvilo Javascript под браузер 8 30.10.2011 05:05
Дублирование значения одного поля формы в другое LatSer Общие вопросы Javascript 0 15.01.2010 14:46