Вставка Mysql с PHP - проблема с вставкой внешнего ключа - PullRequest
2 голосов
/ 05 октября 2010
[project_select]
UserID (fk) | project_id (fk) | project_category_id (fk)

[project_category]
project_category_id | category

[projects]
project_id | projectname

[project_user]
UserID | Name

Как вставить данные с php в таблицы project_category , projects и project_user , чтобы автоматически получать значения в таблице project_selectФК?

Обновление: Как я могу объединить эти 3 запроса в одну строку?

INSERT INTO project_category
VALUES (1,'Fruits')

INSERT INTO projects
VALUES (4,'Apple')

INSERT INTO project_user
VALUES (2,'Adam')

и получить эти значения с этимзапрос в таблице project_select:

[project_select]
UserID (fk) | project_id (fk) | project_category_id (fk)
    2              4                  1

Ответы [ 2 ]

1 голос
/ 05 октября 2010

Вы можете использовать функцию mysql_insert_id , чтобы получить только что вставленный идентификатор.

mysql_query("INSERT INTO Persons VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')");
$person_id = mysql_insert_id();

Итак, делайте вставки в свои таблицы, вызывайте mysql_insert_id () после каждой вставки, сохраняйте вставленные идентификаторы и, наконец, используйте идентификаторы в команде mysql для создания таблицы соединения.

0 голосов
/ 05 октября 2010

Я сомневаюсь, что правильно понял вашу проблему.Но если вы хотите, чтобы значения автоматически вводились в таблицу project_select?Тогда как насчет использования триггеров MySql?Но убедитесь, что вы хорошо знакомы с внутренностями базы данных, прежде чем использовать ее.

Что такое триггеры ?, Настройка триггеров

Но, пожалуйста, опишите это -

проблема со вставкой внешнего ключа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...