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

Настройка на външен ключ с различен тип данни

Всъщност има смисъл, ето защо:

В таблицата всъщност можете да зададете всяка колона като основен ключ. Така че може да бъде цяло число, двойно, низ и т.н. Въпреки че в днешно време използваме предимно цели числа или, по-скоро, низове като първичен ключ в таблица.

Тъй като външният ключ сочи към първичния ключ на друга таблица, ето защо трябва да посочите типа данни на външния ключ. И очевидно трябва да е от същия тип данни.

РЕДАКТИРАНЕ:

Както виждаме, SQL имплементациите са слаби в този случай:те позволяват съвместими типове (INT и BIG INT, Float или DECIMAL и DOUBLE) но на ваш собствен риск . Точно както можем да видим във вашия пример по-долу.

Въпреки това, SQL нормите уточняват, че и двата типа данни трябва да са еднакви. Ако типът данни е символ, те трябва да имат еднаква дължина, в противен случай, ако е цяло число, те трябва да имат същия размер и трябва даи дветете да е подписан или и двете неподписани .

Можете да видите сами тук, глава от книга за MySQL, публикувана през 2003 г.

Надявам се това да отговори на въпроса ви.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CTE и парадоксът за рождения ден

  2. Импортиране на шейп файлове в postgresql в linux с помощта на pgadmin 4

  3. Максимален (използваем) брой редове в Postgresql таблица

  4. Как мога да задам параметър String[] на собствена заявка?

  5. Как make_interval() работи в PostgreSQL