2015-09-25 81 views
-1

如果在第一個表中找到關鍵字,則希望將服務從第二個表添加到第一個表。此外,插入時想將其他值添加到第一個表中。插入使用值並從其他表中選擇

我有這個疑問:

$sql="insert into `firsttable` 
    (
     `time`, 
     `content`, 
     `number`, 
     `service` 
    ) 
    values 
    (
     '$date', 
     '$message', 
     '$number', 
     (select service 
     from secondtable 
     where keyword='$keyword' 
    ) 
    );"; 

應該在哪裏結束?

+1

哪個RDBMS適用於?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –

+1

你的問題到底是什麼?這似乎有點不清楚 –

回答

1

您可以在選擇列表中使用文字值:

$sql = "INSERT INTO `firsttable` " . 
     "(`time`, `content`, `number`, `service`) " . 
     "SELECT '$date', '$message', '$number', service " . 
     "FROM secondtable " . 
     "WHERE keyword = '$keyword'"; 

強制性評論:
使用變量替換裏面的字符串離開你的代碼容易受到SQL注入攻擊。使用prepared statement是一種更好的做法。

+0

是的,但我應該只從服務第二張表 – LoverBugs

+0

@東歐看報價 - 其他領域是從外部提供的文字,這些文字被添加到從'secondtable'中選擇的每個'服務'。 – Mureinik

+0

嗯,它不起作用 – LoverBugs