2015-09-25 47 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

相关问题