很抱歉,如果这是一个愚蠢的问题,但这是我第一次使用MySQL,但似乎无法使它正常工作
我有这张桌子:
+------------------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| policy_name | varchar(255) | NO | UNI | | |
| virus_lover | char(1) | YES | | NULL | |
| spam_lover | char(1) | YES | | NULL | |
| unchecked_lover | char(1) | YES | | NULL | |
| banned_files_lover | char(1) | YES | | NULL | |
| bad_header_lover | char(1) | YES | | NULL | |
| bypass_virus_checks | char(1) | YES | | NULL | |
,我想将virus_lover更改为NO
我尝试使用
update policy set Null='N' where Field='virus_lover';
但这给了我语法错误响应。我已经在线检查过,似乎每个人都在建议这个完全相同的命令,似乎对我不起作用。
任何帮助将不胜感激。
MySQL Ver 14.14 Distrib 5.7.25
答案 0 :(得分:3)
答案 1 :(得分:0)
由于NULL
是保留关键字,并且在表中被用作列名,因此必须用反引号或括号将其引起来:
update policy set `Null`='N' where Field='virus_lover';
或
update policy set [Null]='N' where Field='virus_lover';
将列名更改为非保留关键字而不是NULL
也会使事情变得容易。