2017-06-18 180 views
0

我需要從一個表中插入(未更新)一些值到其他如何從其他表中插入值?

That`s我該怎麼辦:

INSERT INTO `users`(`id`) VALUES(('SELECT `id` FROM `clients` WHERE `phone_number`="+115522225500")) 

但顯示錯誤

我應該怎麼糾正

乾杯!

+0

究竟是什麼錯誤顯示? 「用戶」有什麼列(爲什麼只是插入一個'id')?你使用的語法中有很多額外的引號。 –

回答

0

只需使用insert . . . select

INSERT INTO users(id) 
    SELECT id 
    FROM clients 
    WHERE phone_number = '115522225500'; 

注意,電話號碼通常是字符串等值應該有它周圍的單引號。

1

正如Elliott Frisch所說,您將需要分享錯誤消息。 (只有這樣,任何人都可以確切地知道如何幫助你) 但基本上我認爲你的查詢,可以有任何或所有這些可能發生的錯誤:

  1. 您在查詢不必要的單引號。刪除所有單引號和單引號替換各地的電話號碼雙引號
  2. 這一部分的返回值(後當然服用上述(1)保健)

(「SELECT id FROM clients WHERE phone_number =「+ 115522225500」)

可以是多於一個的值,如果通過相同的電話號碼顯示在多個記錄的任何可能性,這是假設它不是唯一的列。您可以考慮使用(SELECT TOP 1 ID from clients....

  1. select查詢返回null,但Users中的列ID不允許爲空值。
相關問題