2015-07-02 2 views
0

Здесь я пытаюсь вставить новую строку в таблицу (вызовы). Единственное значение, которое я пытаюсь получить, это caller_id из таблицы вызывающих, остальные - все строки, которые у меня уже есть.Вставить в базу данных MYSQL, используя INSERT SELECT и VALUES

Я не уверен, что я делаю неправильно. caller_id - это внешний ключ, если я не ошибаюсь.

     string initialcalls = "INSERT INTO calls (is_outbound, is_active, start_time, dealer_no, caller_id,call_id, is_spam, is_voicemail) SELECT" 
          + "'@is_outbound', '@is_active', '@start_time', '@dealer_no', @caller_id, '@call_id', '@is_spam', '@is_voicemail' FROM callers WHERE callers.id = @fone;"; 
         MySqlCommand initialCall = new MySqlCommand(initialcalls, connection); 
         string dealerNO = Regex.Match(items[10], @"\d+").Value; 



         initialCall.Parameters.AddWithValue("@is_outbound", isOutBound); 
         initialCall.Parameters.AddWithValue("@is_active", is_active); 
         initialCall.Parameters.AddWithValue("@start_time", datetimeSQLstart); 

         initialCall.Parameters.AddWithValue("@dealer_no", dealerNO); 
         initialCall.Parameters.AddWithValue("@caller_id", selectforcallerid); 
         initialCall.Parameters.AddWithValue("@call_id", items[0]); 
         initialCall.Parameters.AddWithValue("@fone", items[8]); 

         initialCall.Parameters.AddWithValue("@is_spam", isSpam); 
         initialCall.Parameters.AddWithValue("@is_voicemail", isVoiceMail); 


         initialCall.ExecuteNonQuery(); 

         this.CloseConnection(); 
+0

Сообщите об ошибке. –

ответ

0

Вставка и выбор должны выполняться по двум совершенно раздельным запросам.

INSERT INTO tablename (field1, field2) VALUES (value1, value2); 

SELECT field1, field2 FROM tablename WHERE something > something else; 

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

SELECT table1.field1, table1.field2 FROM table1, table2 
WHERE table1.id = table2.id 
+0

hmmmm, хорошо, если я пытаюсь назначить внешний ключ, он ошибочно, но если я его не назначу, он получает нулевое значение. не знаю, какова моя основная неисправность. – rem0nster

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