mysql 열의 칼럼의 값을 수정하려하는데 잘 안되네요
조회수 520회
열의 칼럼의 값을 수정하려하는데 잘 안되네요
desc bbs;
+--------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| bbsID | int | NO | PRI | NULL | |
| bbsTitle | varchar(20) | YES | | NULL | |
| userID | varchar(20) | YES | | NULL | |
| bbsDate | datetime | YES | | NULL | |
| bbsContent | varchar(2048) | YES | | NULL | |
| bbsAvailable | int | YES | | NULL | |
| count | int | YES | | NULL | |
+--------------+---------------+------+-----+---------+-------+
여기서 count 칼럼의값을
mysql> update bbs set count = count+10 where bbsID=1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
로 수정했는데 (성공됬다고 하는데)
막상 셀렉트해서보면 null로 나와있네요
mysql> select userID, count from bbs where bbsID = 1;
+---------+-------+
| userID | count |
+---------+-------+
| gildong | NULL |
+---------+-------+
1 row in set (0.00 sec)
왜이런거죠.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
왜냐하면 Null + 1 은 Null 이거든요! Null에는 덧셈을 못해요. 숫자 필드가 기본값 없이 Nullable 한건 위험한 생각이구요.
아마 이렇게 하시면 작동할 겁니다.
update bbs set count = ifnull(count, 0) + 10 where bbsID = 1;
댓글 입력