Премини към съдържанието

Препоръчан отговор


Здравейте !

Имам един въпрос.

Имам две таблици на MySQL. Едната е таблица летища, която съдържа(ID - първичен ключ), име на летището, държава, град и адрес. 2-рата таблица съдържа (ID-първичен ключ) и две полета (FromTheAirportID и ToAirportID), тези две полета трябва да съдържат ID-то от първата таблица с летищата.

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

Работя на MySQL(phpMyAdmin)

Благодаря предварително 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 2 часа, Димитър Иванов написа:

Здравейте !

Имам един въпрос.

Имам две таблици на MySQL. Едната е таблица летища, която съдържа(ID - първичен ключ), име на летището, държава, град и адрес. 2-рата таблица съдържа (ID-първичен ключ) и две полета (FromTheAirportID и ToAirportID), тези две полета трябва да съдържат ID-то от първата таблица с летищата.

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

Работя на MySQL(phpMyAdmin)

Благодаря предварително 

Здравейте!

Моля, огледайте следната декларация на таблици - мисля, че целите нещо подобно:

CREATE TABLE AIRPORT (
  ID INT NOT NULL PRIMARY KEY,
  NAME VARCHAR(256) NOT NULL,
  COUNTRY VARCHAR(256) NOT NULL,
  CITY VARCHAR(256),
  ADDRESS VARCHAR(2048)
);

CREATE TABLE FLIGHT(
  ID INT NOT NULL PRIMARY KEY,
  FROM_AIRPORT INT NOT NULL,
  TO_AIRPORT INT NOT NULL,
  FOREIGN KEY (FROM_AIRPORT)
        REFERENCES AIRPORT(ID)
        ON DELETE CASCADE,
  FOREIGN KEY (TO_AIRPORT)
        REFERENCES AIRPORT(ID)
        ON DELETE CASCADE
);

Само внимавайте с "ON DELETE CASCADE" частта - възможно е да имате изискване да запазвате вече въведени данни за полет, дори да се премахнат летищата. В такъв случай може да ползвате друг вид действие при изтриване:

[ON DELETE reference_option]

reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT

За повече инфо: цък

Поздрави !

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

аз го правя точно така, но не ми прехвърля самите ID -та от едната таблица в другата или то не трябва да ги прехвърля 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 4 часа, Димитър Иванов написа:

аз го правя точно така, но не ми прехвърля самите ID -та от едната таблица в другата или то не трябва да ги прехвърля 

Какво ще рече "Не ми прехвърля самите ID-та от едната таблица в другата" ?
Приложеното по-горе е DDL скрипт за създаване на самите DB обекти (сиреч, таблиците и constraint-ите). За да се прехвърлят данни, се ползва DML скриптове - SELECT/UPDATE/DELETE (т.нар. CRUD операции).

СУБД-то няма как да знае кои точно данни да мята насам натам - някой трябва да му каже как и кои да се запишат (това се прави или с програмна логика или самия човек си прави DML-ите да се полълват).

Всъщност, нека запитам така - какво понятие от Бази данни имате и какво точно се опитвате да постигнете ? Въпросът, зададен в началото, говори за създаване на DDL, в отговора си, искате попълване на данни (DML).  

Поздрави !

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

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


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Подобни теми

    • от tovamieimeto98
      Добър вечер.
      Въпросът ми не свързан с някаква програма.
      Занимавам се с програмиране от около година. Насочил съм се към web development, по - скоро php web dev.
      Знам това - онова(php функции, OOP), владе малко бази данни(mySql), html/css и малко js/jquery. Имам също и няколко проекта, общо взето CRUD, регистрации, логвания, коментари, тн... Общи неща.
      Въпросът е, че вече искам да започна като junior или стажант някъде, но не съм сигурен дали съм готов. Може ли някой запознат да ми разясни горе - долу как стоят нещата, на кое да наблегна, кое да науча.
      Благодаря 
    • от minavazatoka
      Добър ден , нов съм в сферата си . Тоест не съм работил за фирма и не знам как да си намеря нормална фирма без да гледам обяви в университета или фирми , които идват да си търсят кандидати . Наясно съм че не са само 2 / 3 фирмите занимаващи се с web design във Варна . Въпросът ми е : Можете ли да ми предложите добри или поне приемливи фирми във Варна или Стара Загора търсещи си стажант (понеже , както споменах по-горе нов съм в сферата си) ? 
      ПС: Писал съм на php даже сега правя уеб сайт за запознанства , имам опит със SQL , опит с html и css и сега се опитвам да науча js и да осъвършенствам другите си езици . Не е като да не знам какво е Git или фреймуърк . 
    • от ARCS
      Здравейте, задачата ми е : 
      Трябва да създам процедура, с която да въведа нов ред в таблица DEPARTMENTS. Трябва да проверя за уникалността на номера и името на отдела. И ако изискванията не са изпълнени, да се вдигнат съответните изключения и за тези данни да се създаде запис в помощна таблица ERROR_DEPART със структурата на таблица DEPARTMENTS.
      Създавам процедура и въвеждам данните в DEPARTMENTS. След това търся изключения :
      EXCEPTION
       WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Err: adding dept: '|| p_name);
      Но как да създам нов запис в друга таблица от изведените изключения?
      А това е моят код:
      ============================================================
      create or replace PROCEDURE add_depar(
          p_name VARCHAR2, p_mgr NUMBER, p_loc NUMBER) IS
      BEGIN
        INSERT INTO DEPARTMENTS (department_id,
          department_name, manager_id, location_id)
        VALUES (DEPARTMENTS_SEQ.NEXTVAL, p_name, p_mgr, p_loc);
        DBMS_OUTPUT.PUT_LINE('Added Dept: '|| p_name);
      EXCEPTION
       WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Err: adding dept: '|| p_name);
      END;
      ============================================================
       
      Моля за препоръки!
    • от ARCS
      Здравейте, задачата ми е : 
      Трябва да създам процедура, с която да въведа нов ред в таблица DEPARTMENTS. Трябва да проверя за уникалността на номера и името на отдела. И ако изискванията не са изпълнени, да се вдигнат съответните изключения и за тези данни да се създаде запис в помощна таблица ERROR_DEPART със структурата на таблица DEPARTMENTS.
      Създавам процедура и въвеждам данните в DEPARTMENTS. След това търся изключения :
      EXCEPTION
       WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Err: adding dept: '|| p_name);
      Но как да създам нов запис в друга таблица от изведените изключения?
      А това е моят код:
      ============================================================
      create or replace PROCEDURE add_depar(
          p_name VARCHAR2, p_mgr NUMBER, p_loc NUMBER) IS
      BEGIN
        INSERT INTO DEPARTMENTS (department_id,
          department_name, manager_id, location_id)
        VALUES (DEPARTMENTS_SEQ.NEXTVAL, p_name, p_mgr, p_loc);
        DBMS_OUTPUT.PUT_LINE('Added Dept: '|| p_name);
      EXCEPTION
       WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Err: adding dept: '|| p_name);
      END;
      ============================================================
       
      Моля за препоръки!
    • от ARCS
      Здравейте! Бих искал да интегрирам база данни от Mysql в C++ приложение. Може ли да ме насочите как става това или да ме насочите към някой линк в който е добре обяснено.
      Благодаря!
  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.