我有一个名为 sp_en 的表,该表有 2 列:“否”和“值”。我想将带有“no”的行的“值”:4433更改为1,因此我输入以下命令:
INSERT INTO sp_en (Say) WHERE no='4433' values ("1");
返回的错误是:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“where no=”4433”(Say)值(“1”)”附近使用的正确语法
有什么问题。所有答案将不胜感激...
答案1
当要修改的条目已存在于表中时,您不想插入。您可能想更新:
UPDATE TABLE sp_en SET Say = 1 WHERE no = 4433;
这将更新列值为no
4433 且这些行设置Say
为 1 的所有行。
我假设了整数列。
答案2
INSERT
语法仅用于将新数据插入数据库。要更新或更改值UPDATE
语法,请使用:
UPDATE TABLE table_name
SET column_name = value
WHERE column_name = value;
在上面的语法中,将小写单词替换为其各自的值。另外,其中使用的column_nameSET
是您要更改的列,而其中使用的列WHERE
是条件列。
所以查询变成:
UPDATE TABLE so_en
SET my_column = 1
WHERE no = 4433;
就这样!!!
PS 你可以在谷歌中轻松找到这个答案。所以如果你多做一些研究会更好。而这个问题属于dba stackexchange