我对案例更新有疑问
我有一个叫做字典的表
+-----------------------------------------------------------------------+
| id | table_name | col_name | size | precis | data_type |
+------+---------------+-----------+----------+------------+------------+
| 1 | 'user' | 'id' | null | 10 | 'int' |
| 2 | 'user' | 'name' | 255 | null | 'varchar' |
| 3 | 'user' |'lastname' | 255 | null | 'varchar' |
| 4 | 'user' | 'age' | null | 2 | 'varchar' |
我尝试使用这个查询
UPDATE diccionary SET
size = CASE WHEN id = 2 THEN 250 END,
data_type = CASE when id = 4 THEN 'int' END;
但是我得到这个错误
#1048 - Column 'data_type' cannot be null
我的查询有什么问题?谢谢
最佳答案
data_type 列不能为空,因此您只需处理不等于 4 的情况,例如:分配 varchar
UPDATE diccionary
SET size = CASE WHEN id = 2 THEN 250 END,
data_type = CASE when id = 4 THEN 'int' ELSE 'varchar' END;
关于MySql 更新大小写不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42789786/