mysql_query INSERT到表中的位置

时间:2014-01-03 11:17:49

标签: mysql insert

我想插入到用户id = to something的表中 并将o更改为1表示用户在线

试过这个

mysql_query("INSERT INTO `20s` VALUES('','','','','','','',1) WHERE `uid`='$user_id ");

但这并不能让我随处可见。什么是正确的语法?

还有什么是在数据库中保存在线朋友记录的最佳方式?

提示:最好在此处使用更新

4 个答案:

答案 0 :(得分:1)

插入查询的正确语法是:

INSERT INTO table_name
VALUES (value1, value2, value3,...) 

但您需要更新查询,因此您可以更新现有的行:

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

您只需更改一个在线显示的列位,这样就不会更改其他列:

UPDATE `tableName` SET `columnForOnline`=1 WHERE user_id=online_user_id

答案 1 :(得分:1)

WHERE语句中没有INSERT条款(see MySQL documentation)。

如果要更新现有行中的值,请使用UPDATE

UPDATE `20s` SET `online`=1 WHERE user_id=your_user_id

mysql_函数已弃用,请改用PDOmysqli_

答案 2 :(得分:1)

MySQL还支持REPLACE INTO,它遵循与INSERT相同的语法。但请注意,您不提供的列将设置为默认值。

在你的情况下:

REPLACE INTO `20s` VALUES('','','','','','','',1) WHERE `uid`= '$user_id'

(另外,您在查询结尾处缺少结束语'

答案 3 :(得分:0)

使用update查询代替insert

UPDATE `tableName` SET `columnForOnline`=1 WHERE user_id=online_user_id