Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL子句中的语法错误_Mysql_Sql - Fatal编程技术网

MYSQL子句中的语法错误

MYSQL子句中的语法错误,mysql,sql,Mysql,Sql,您好stackoverflow的朋友们,我需要您的帮助来处理此sql子句这是mysql中的错误: _mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE email='Tysaic0

您好stackoverflow的朋友们,我需要您的帮助来处理此sql子句这是mysql中的错误:

_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE email='Tysaic0344@gmail.com'' at line 1")
这是我的代码:

INSERT INTO user (token) VALUES (1) WHERE email='example@email.com'

不能使用
WHERE
子句
INSERT

如果您需要
更新
接收电子邮件的记录:

UPDATE user
Set token = 1
WHERE email='example@email.com'
或通过电子邮件插入

INSERT INTO user (token, email)
 VALUES (1, 'example@email.com')
(或没有)

这些类型的错误你必须能够自己修复,错误甚至告诉你哪里出了问题(最后它说“接近”哪里…)


检查dns\u nx包含的文档(尤其是)以获取执行更新的正确语法。

您不能
将值插入现有行。
WHERE
子句与
INSERT
一起无效。如果要更新现有行,则必须更新字段,如下所示:

UPDATE 
  user
SET
  token = 1 
WHERE 
  email='example@email.com'
UPDATE user SET token = 1 WHERE email = 'example@email.com'
请查看有关
插入
更新

将新行插入表中。
WHERE
子句用于从表中筛选现有行。它在
INSERT
查询中没有意义;这就是为什么不包含
WHERE
子句的原因

WHERE
子句用于筛选要从表中获取的行(The)、要修改的行(The)或要从表中删除的行(The)

您的查询似乎要修改表中已存在的数据。您需要的配置如下所示:

UPDATE 
  user
SET
  token = 1 
WHERE 
  email='example@email.com'
UPDATE user SET token = 1 WHERE email = 'example@email.com'

不能在现有行中插入值。您可以更新或删除现有记录。在您的情况下,我认为您需要更新现有行。您可以使用更新

UPDATE user SET token = 1 WHERE email = 'example@email.com';
如果要向表中添加记录,请使用插入

INSERT INTO user VALUES (1, 'example@email.com');
这是供你参考的链接


您是想更新记录还是插入新记录?@Parfait:那不是真的。它还可用于更新和删除。