Копировать строку в SQL?

Эта проблема может возникнуть при использовании метода ASP.NET MVC RedirectToAction. Чтобы предотвратить отображение формы в div, вы можете просто сделать какой-то фильтр ответа ajax для входящих ответов с $ .ajaxSetup. Если ответ содержит перенаправление MVC, вы можете оценить это выражение на стороне JS. Пример кода для JS ниже:

$.ajaxSetup({
    dataFilter: function (data, type) {
        if (data && typeof data == "string") {
            if (data.indexOf('window.location') > -1) {
                eval(data);
            }
        }
        return data;
    }
});

Если данные: "window.location = '/ Acount / Login'" выше фильтр поймает это и оценит, чтобы сделать перенаправление вместо того, чтобы отображать данные.

33
задан MetaGuru 5 March 2009 в 15:00
поделиться

3 ответа

Insert Into TableName (userID, courseID)
  Select userID, 11 From TableName Where courseID=6;

кроме того, я немного смущен Вашим комментарием, что оба - первичные ключи. Обе строки могут быть часть первичного ключа, или оба могут быть Уникальными ключами, но они не могут оба быть первичным ключом. Насколько ошибки идут, это, вероятно, потому что запрос пытался вставить строки, которые были дубликатами уже существующих строк. Для устранения этой возможности, Вы могли сделать это:

Insert Into TableName (userID, courseID)
  Select userID, 11 From TableName Where courseID=6 
     AND (userID not in (Select userID From TableName Where courseID=11))

В зависимости от Вашей базы данных это могло работать также:

INSERT OR IGNORE INTO TableName (userID, courseID)
    SELECT userID, 11 FROM TableName WHERE courseID=6;

Так или иначе, там Вы идете.

56
ответ дан 27 November 2019 в 18:19
поделиться

Это должно помочь:

INSERT
INTO   [table]
       (
              userid,
              courseid
       )
SELECT userid,
       11
FROM   [table]
WHERE  courseid    = 6
   AND userid NOT IN
                     (SELECT userid
                     FROM    [table]
                     WHERE   courseid = 11
                     );

Это выберет всех пользователей в курсе 6 не в курсе 11 и добавит их с курсом 11 к таблице.

-2
ответ дан 27 November 2019 в 18:19
поделиться
insert into TableName (userId, courseId)
    select userId, 11
    from   TableName
    where  courseId = 6
    and    not exists (
               select 1
               from   TableName nested
               where  nested.userId = TableName.UserId
               and    nested.courseId = 11
           )

Выбирает всех пользователей, которые присвоены courseId 6, но еще не присвоены courseId 11, и вставляет новую запись в таблицу для них для courseId 11.

2
ответ дан 27 November 2019 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: