我想插入到用户id = to something的表中 并将o更改为1表示用户在线
试过这个
mysql_query("INSERT INTO `20s` VALUES('','','','','','','',1) WHERE `uid`='$user_id ");
但这并不能让我随处可见。什么是正确的语法?
还有什么是在数据库中保存在线朋友记录的最佳方式?
提示:最好在此处使用更新
答案 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
答案 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