INSERT INTO таблица из другой таблицы, но с правильным идентификатором пользователя для каждого комментария, добавляемого пользователем - PullRequest
0 голосов
/ 01 декабря 2009

У меня есть две таблицы - «пользователи» и «комментарии». У них обоих есть столбец «IDUsers». Когда пользователь добавляет комментарий, я хочу, чтобы его идентификатор пользователя пришел из таблицы 'users' и вошел в таблицу 'comments' в столбце 'IDUsers' из столбца 'IDUsers'.

Однако, в то же время добавляется комментарий от пользователя - поэтому я также использую INSERT INTO для новой информации. Я также использую ColdFusion - если это имеет большое значение.

Надеюсь, все понимают, о чем я говорю .... и спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 01 декабря 2009

В чем именно проблема? Когда пользователь публикует комментарий, вы знаете его идентификатор пользователя. Так что используйте этот UserID для вставки в таблицу комментариев.

Если вы генерируете пользовательский объект на лету - как часть одной и той же транзакции (убедитесь, что это одна транзакция! Это важно - проблемы с синхронизацией !!!) - используйте что-то вроде mysql_insert_id () в ColdFusion ( http://www.coldfusionmuse.com/index.cfm/2005/8/8/identity%20after%20insert). После того, как вы выполните вставку в пользовательскую таблицу, получите идентификатор вставленной записи, а затем используйте этот идентификатор в качестве внешнего ключа в записи комментариев.

0 голосов
/ 01 декабря 2009

Вы будете знать идентификатор пользователя, когда пользователь добавляет комментарии. Используйте этот конкретный идентификатор пользователя в инструкции вставки. И чтобы убедиться, что в таблицу комментариев входит только userId из таблицы users, вы можете установить userId в таблице comments как внешний ключ из таблицы users.

...