插入使用值并从其他表中选择

时间:2015-09-25 20:31:44

标签: mysql sql

如果在第一个表中找到关键字,则想要从第二个表添加服务到第一个表。此外,插入时想要在第一个表中添加一些其他值。

我有这个问题:

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

最后应该有WHERE吗?

1 个答案:

答案 0 :(得分:1)

您可以在选择列表中使用文字值:

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

强制性评论:
在字符串中使用变量替换会使代码容易受到SQL注入攻击。使用prepared statement是一种更好的做法。