phpmyadmin에서 작업을 하는데
Null no가 떠서 먼가 하고 보는 중인데..
mysql client에서 보면.. Null 은 no 똑같네?
mysql> desc archlog_useraccount;l +----------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+-------------+------+-----+---------+----------------+ | idx | int(11) | NO | PRI | NULL | auto_increment | | time_create | datetime | NO | | NULL | | | time_lastlogin | datetime | NO | | NULL | | | time_lastmodi | datetime | NO | | NULL | | | userid | char(50) | NO | | NULL | | | passwd | char(72) | NO | | NULL | | | passwd_plain | char(12) | NO | | NULL | | | username | varchar(30) | NO | | NULL | | | birth | datetime | NO | | NULL | | +----------------+-------------+------+-----+---------+----------------+ 9 rows in set (0.01 sec) |
아무튼.. 덤프해서 보면 alter로 속성값 바꾸듯 해두었는데
CREATE TABLE IF NOT EXISTS `archlog_useraccount` ( `idx` int(11) NOT NULL, `time_create` datetime NOT NULL, `time_lastlogin` datetime NOT NULL, `time_lastmodi` datetime NOT NULL, `userid` char(50) NOT NULL, `passwd` char(72) NOT NULL, `passwd_plain` char(12) NOT NULL, `username` varchar(30) NOT NULL, `birth` datetime NOT NULL ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='user account table';
ALTER TABLE `archlog_useraccount` ADD PRIMARY KEY (`idx`), ADD UNIQUE KEY `idx` (`idx`,`userid`);
ALTER TABLE `archlog_useraccount` MODIFY `idx` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2; |
예제를 보면 이런식으로 생성시에 넣을수 있는 듯
CREATE TABLE animals ( grp ENUM('fish','mammal','bird') NOT NULL, id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (grp,id) ) ENGINE=MyISAM; |
[링크 : http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html]
그리고 null / no는 not null이 맞는 듯
그런데 pri키로서 idx는 null이 넣어도 에러 안나던데 !!?
자세히 보니.. NULL은 아니고 ''로 빈 문자열을 넣어 버렸네 -_-