MYSQL子句中的语法错误
您好stackoverflow的朋友们,我需要您的帮助来处理此sql子句这是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
_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:那不是真的。它还可用于更新和删除。