2

我尝试让一个简单的更新查询在 mySQL 中工作,但我找不到答案。

我尝试做的,因为“农林业”是一个 tinyint 变量:

UPDATE Projects
SET agroforestry = FALSE,
WHERE project_id=2;

以下查询在同一数据集上完美运行:

UPDATE Projects
SET contact_person_mail='vincent@lao.be',
    geographical_scope='national',
    country='Belgium',
    budget=4500000,
    currency='EUR'
WHERE project_id=2;

...但是当我尝试更新 tinyint (boolean) 变量时出现语法错误。我已经尝试了所有这些:

agroforestry = FALSE
agroforestry = False
agroforestry = false
agroforestry = 'FALSE'
agroforestry = 'False'
agroforestry = 'false'
agroforestry = 0
agroforestry = 1
agroforestry = TRUE
...

没有任何作用!我究竟做错了什么 ?

4

1 回答 1

3

在您的示例中,您有

UPDATE Projects
SET agroforestry = FALSE,
WHERE project_id=2;

在 FALSE 之后去掉逗号。它不属于那里。子句中的逗号SET仅存在于分隔列中。要修改的最后一列(在本例中为唯一一列)后面不能跟逗号。

于 2015-12-24T19:59:53.237 回答