Mysql
 sql >> база данни >  >> RDS >> Mysql

Външни ключове - Какво правят за мен?

Външните ключове осигуряват референтна цялост. Данните в колоната за външен ключ са валидирани - стойността може да бъде само тази, която вече съществува в таблицата и колоната, дефинирани във външния ключ. Много е ефективен за спиране на „лошите данни“ – някой не може да въведе каквото си поиска – числа, ASCII текст и т.н. Това означава, че данните са нормализирани – повтарящите се стойности са идентифицирани и изолирани в собствената им таблица, така че няма повече притеснения относно справянето с чувствителността към малки и големи букви в текста... и стойностите са последователни. Това води до следващата част - външните ключове са това, което използвате, за да обедините таблици.

Вашата заявка за проектите, които потребителят има, няма да работи - препращате към колона от USERS таблица, когато в заявката няма препратка към таблицата и не се използва подзаявка за получаване на тази информация, преди да се свърже с PROJECTS маса. Това, което наистина бихте използвали е:

SELECT p.*
   FROM PROJECTS p
   JOIN USERS u ON u.user_id = p.creator
WHERE u.username = 'John Smith'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL REPLACE:Как да замените всички появявания на char във всеки отделен подниз, ограничен от една и съща глава и опашка

  2. Laravel:Как да изтрия редове от множество таблица със същия идентификатор само с 1 заявка?

  3. Какво да направите, когато имате нужда от цели числа, по-големи от 20 цифри в mysql?

  4. Как мога да използвам jQuery за изпълнение на MySQL заявки?

  5. Когато се добави нов ред в базата данни, трябва да се извика външна програма за команден ред