2014-09-29 103 views
1

如何将数据插入表(2个表中的一个)的列中,使用户ID匹配两个表中?表1是users,表2是comments我如何插入数据到一个表(2个表中)的列,使用户ID匹配在他们两个?

这里是我使用的查询:

$query='INSERT INTO comments VALUES('','','$comment','','') WHERE users.id=comments.id'; 

但它说的错误:

Parse error: syntax error, unexpected '','' (T_CONSTANT_ENCAPSED_STRING) in F:\xampp\htdocs\my\lecture1.php on line 263

其中线263查询

+1

这是一个PHP错误。检查你的线上的语法。提示:你如何在字符串中添加'$ comment'? – 2014-09-29 19:53:35

+1

P.S.正如[@sh-ado-w](http://stackoverflow.com/a/26107791/206403)指出的那样,在INSERT查询中使用'WHERE'完全没有意义。 – 2014-09-29 19:55:16

+0

请你详细说明一下,我不能明白你的意思。 – 2014-09-29 19:56:59

回答

1

INSERT只能包含新记录。要修改现有记录中字段的值,请使用UPDATE

例如:

UPDATE comments SET comment = 'Blah, blah blah.' WHERE id = 1; 

您可以在使用UPDATE交叉表,但是我看不出有任何理由这样做,在这种情况下。

您也可以使用INCLUDEON DUPLICATE KEY触发器创建记录,如果它不存在或使用相同查询更新现有记录。由于指定的UNIQUEPRIMARY KEY已经存在于表中,因此在插入新记录时不可能触发ON DUPLICATE KEY触发器。例如:

INSERT INTO comments (id, comment) VALUES (1, 'Comment') ON DUPLICATE KEY UPDATE comment = 'Comment'; 
相关问题