我如何插入数据到一个表(2个表中)的列,使用户ID匹配在他们两个?
问题描述:
如何将数据插入表(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查询
答
INSERT
只能包含新记录。要修改现有记录中字段的值,请使用UPDATE
。
例如:
UPDATE comments SET comment = 'Blah, blah blah.' WHERE id = 1;
您可以在使用UPDATE
交叉表,但是我看不出有任何理由这样做,在这种情况下。
您也可以使用INCLUDE
和ON DUPLICATE KEY
触发器创建记录,如果它不存在或使用相同查询更新现有记录。由于指定的UNIQUE
或PRIMARY KEY
已经存在于表中,因此在插入新记录时不可能触发ON DUPLICATE KEY
触发器。例如:
INSERT INTO comments (id, comment) VALUES (1, 'Comment') ON DUPLICATE KEY UPDATE comment = 'Comment';
这是一个PHP错误。检查你的线上的语法。提示:你如何在字符串中添加'$ comment'? – 2014-09-29 19:53:35
P.S.正如[@sh-ado-w](http://stackoverflow.com/a/26107791/206403)指出的那样,在INSERT查询中使用'WHERE'完全没有意义。 – 2014-09-29 19:55:16
请你详细说明一下,我不能明白你的意思。 – 2014-09-29 19:56:59