2013-08-30 111 views
0

我有一个名为notif的表,我存储带有时间戳和topic_id的通知。我有另一个表格主题,它存储主题名称。现在我已经给出了主题名称和notif内容,并且我想将它们插入到notif表中。因此,我必须根据名称从主题中选择topic_id,并将notif文本和当前时间一起插入到notif表中。MySQL插入与选择

这可以在一个查询中完成吗?

public function insert($text, $name) { 
$query = "INSERT INTO notif(content, topic, timestamp) 
      SELECT $text, topic_id, NOW() FROM topic WHERE name = $name" 
} 
+5

是的,它可以做到。 – Kermit

+0

告诉我们你到目前为止所做的以及什么是/不工作。 – user2366842

+0

这是我迄今为止,我没有得到例外,但没有写入数据库 – user2734138

回答

0

尝试是这样的:

Insert Into notif (topic_ID, NotifText,theTimestampe) (Select topic_ID,NotifText,GetDate() from topic Where name = @param) 

仅供参考,未经测试。

+0

删除圆括号围绕'SELECT' – Kermit

+0

括号是可选的,至少在SQL Server中。我更喜欢他们,因为他们帮助我使查询更具可读性。 – Elias