ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: inbruk
19. июня 2013 01:06

MySQL

Продолжаю размещать переводы с англоязычного сайта www.techinterviews.com, посвященного вопросам на собеседовании для программистов. Ответы приведены такие же как на исходном сайте.

Что значит флаг –i-am-a-dummy при старте MySQL ?
Он заставляет отвергать команды UPDATE и DELETE когда выражение WHERE в них не наличествует. Таким образом не дает стереть все строки таблицы в случае неопытных или рассеяных программистов.

При исполнении команды DELETE я получил ошибку ограничения внешнего ключа. Что мне делать ?
Это значит, что те данные, которые вы пытаетесь удалить все еще остаются "живыми" в другой таблице. Например, вы имеете две таблицы университеты и студенты. В таблице студенты есть ссылка на поле ID таблицы университеты. Которое значит внешний ключ - связь между студентом и университетом в который он ходит. Удаление из таблицы университеты может не удаться, если на удаляемую строку есть ссылки из таблицы студенты. Правильное действие в таком случае сначала стереть те строки, которые ссылаются на университеты из таблицы со студентами, а потом уже стирать университеты. Еще одним способом может считаться отключение проверки внешних ключей перед командой DELETE с последующим включением, когда удаление завершено. Это делается так:
SET foreign_key_checks=0
Это может быть очень удобным и быстрым при массовом переносе данных из разных таблиц. Но в таких случаях нужно внимательно следить за целостностью данных (внешних ключей). Иначе это приведет к ошибкам во время работы с БД и/или потерям данных. Если ваши внешние ключи оформлены с выражением ON DELETE CASCADE, то данные в зависимых таблицах будут удалены автоматически.

Когда бы вы использовали ORDER BY в выражении DELETE ?
Тогда, когда вы не стираете по ID строки. Например в случае следующего запроса:
DELETE FROM techinterviews_com_questions ORDER BY timestamp LIMIT 1
Это удалит самый последний вопрос из добавленных в таблицу techinterviews_com_questions.

Как бы вы просмотрели все опреденные для заданной таблицы индексы ?
SHOW INDEX FROM techinterviews_questions

Как бы вы изменили тип колонки с VARCHAR(10) на VARCHAR(50) ?
ALTER TABLE techinterviews_questions CHANGE techinterviews_content techinterviews_CONTENT VARCHAR(50)

Как бы вы удалили колонку ?
ALTER TABLE techinterviews_answers DROP answer_user_id

Как бы вы изменили/перенесли таблицу на движок InnoDB ?
ALTER TABLE techinterviews_questions ENGINE innodb

Когда вы создали таблицу и потом запустили SHOW CREATE TABLE на ней. То вы увидите не дословно те же конструкции, которыми вы создавали ее. Что MySQL модифицировал автомтически в вашей, только что созданной таблице ?
- VARCHAR-ы с длинной менее 4-х символов становятся CHAR-ами
- CHAR-ы с длинной более 3 символов сьановятсяVARCHAR-ми
- NOT NULL добавляется к колонкам объявленным как PRIMARY KEYs
- Значения по умолчанию, такие как NULL специфицируются каждой колонке

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

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

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft
Оригинал статьи взят отсюда: Silverlight, HTML5 и непрозрачная стратегия развития Microsoft Автор: Peter Bright Переводчик: Mairon     По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильн...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий