如果在第一个表中找到关键字,则想要从第二个表添加服务到第一个表。此外,插入时想要在第一个表中添加一些其他值。
我有这个问题:
$sql="insert into `firsttable`
(
`time`,
`content`,
`number`,
`service`
)
values
(
'$date',
'$message',
'$number',
(select service
from secondtable
where keyword='$keyword'
)
);";
最后应该有WHERE吗?
答案 0 :(得分:1)
您可以在选择列表中使用文字值:
$sql = "INSERT INTO `firsttable` " .
"(`time`, `content`, `number`, `service`) " .
"SELECT '$date', '$message', '$number', service " .
"FROM secondtable " .
"WHERE keyword = '$keyword'";
强制性评论:
在字符串中使用变量替换会使代码容易受到SQL注入攻击。使用prepared statement是一种更好的做法。