我有一个任务分配系统,我想将人员分配给某些任务。该表的布局如下:
+---------+---------+-------------+-------------+-------------+
|Task name| person1 | person2 | person3 | person4 |
+---------+---------+-------------+-------------+-------------+
如果一个任务已经分配给例如 2 个人,我希望更新功能填充第 3 个人。所以它基本上检查值是否为空,如果是则输入数据,否则检查下一列中的值是否为空并将其放置在那里,并为所有列继续此操作。
我已经尝试过了,但这会输出错误:
UPDATE data SET IF(person1 IS NULL, person1,
IF(person2 IS NULL,person2,
IF(person3 IS NULL, person3,
IF(person4 IS NULL, person4,
IF(person5 IS NULL, person5, person6)))))
='$person_name' WHERE id=$id
这会输出以下错误:
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 'IF(person1 IS NULL, person1, IF(person2 IS NULL, person2, IF(person3 IS NULL, back' 附近使用正确的语法
但据我所知,这是一个普遍错误。