2016-09-27 2 views
3

Мне нужно вставить некоторые данные в таблицу с именем «queue», которая представляет собой очередь пациента в определенную дату. Два поля данных будут вставлены. Два имени полей: «PatientID» и «Visiting Date». Таблица 'очереди', какMysql: insert into select && где не существует

QueueID  |   PatientID |   Visiting_date | 
-------------|-------------------|-------------------------| 
     1  | 4    |  Current date  | 

стол: очереди

Но при вставке записи есть два условия:

Условие 1: patitentID приходит от пациента таблицы (ниже) Условие 2: один запись будет вставлена ​​в таблицу «queue», если она не существует, чтобы предотвратить повторение. PatientID = 4 не будет вставлен, если он уже вставлен.

-------------|-----------------|------------------| 
patitentID | Patient Name | Contact no | 
-------------|-----------------|------------------| 
    4  | David   | 01245785874  | 

стол: пациент

My SQL является: (не работает)

INSERT INTO `queue`(`patientID`, `Visiting_date`) 
SELECT patient.`patientID`,’CURDATE()’ FROM `patient` 
WHERE NOT EXISTS (
    SELECT `patientID`, `visiting_date`FROM `queue` 
WHERE `patientID` = '4' AND `visting_date`=CURDATE() 
) LIMIT 1; 
+0

Какая ошибка у вас возникла? –

ответ

0

Я хотел бы использовать отдельный запрос, чтобы проверить, есть ли пользователь с этим идентификатором в этой таблице ,

SELECT * FROM queue WHERE PatientID = 4;

, а затем проверить результат этого запроса, если он возвращает строку, это означает, что есть пользователь там, и вы ничего не делаете.

Если запрос не возвращает строку, это означает, что теперь вы можете использовать запрос для инертного пользователя. Как это

INSERT INTO queue (PatientID, VisitingDate);

1

Вы можете установить foreign key, чтобы убедиться, что у пациентов идентификатор существует.

В таблице Queue вы можете установить patientID как unique, это позволяет вставить только уникальные идентификаторы в таблицу очередей.

Также, если вы хотите, чтобы иметь возможность вставлять один и тот же идентификатор пользователя, но с разными датами, вы получаете could specify unique constraint for multiple columns in MySQL.

Если вы хотите решить эту проблему с помощью запроса mysql, вы можете только use this question.

Смежные вопросы