老師,我定義了用戶的性別`sex` enum("男","女","保密")not null default"保密",,為什么寫入數據庫時一直提示ERROR 1067 (42000): Invalid default value for 'sex' 無效的?。?。是不是要取消保密啊
6 回答
舉報
0/150
提交
取消
老師,我定義了用戶的性別`sex` enum("男","女","保密")not null default"保密",,為什么寫入數據庫時一直提示ERROR 1067 (42000): Invalid default value for 'sex' 無效的?。?。是不是要取消保密啊
2014-10-31
舉報
2014-11-02
是你字符集的事,你看看你的編碼方式,臨時轉換客戶端的編碼方式SET NAMES GBK,之后status看看數據庫的編碼方式是不是兩個utf8,兩個gbk
^-^...
2015-09-04
?這個這樣寫就可以了,望采納
-- User table
DROP TABLE IF EXISTS `imooc_user`;
CREATE TABLE `imooc_user`(
?`id` INT UNSIGNED AUTO_INCREMENT KEY ,
?`username` VARCHAR(20) NOT NULL UNIQUE ,
?`password` CHAR(32) NOT NULL ,
?`sex` ENUM('男','女','保密') NOT NULL DEFAULT '保密',
?`face` VARCHAR(50) NOT NULL ,
?`regTime` INT UNSIGNED NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
2015-06-20
設置表的字符集字符集與你的庫字符集一致 ?我的代碼如下:
mysql> create table test(
? ? -> id int ?auto_increment key,
? ? -> name varchar(60) not null,
? ? -> age ?tinyint not null default 18,
? ? -> sex enum("男","女") not null default '男'
? ? -> );
ERROR 1067 (42000): Invalid default value for 'sex'
mysql> create table test(
? ? -> id int ?auto_increment key,
? ? -> name varchar(60) not null,
? ? -> age ?tinyint not null default 18,
? ? -> sex enum("男","女") not null default '男'
? ? -> ) charset='utf8';
Query OK, 0 rows affected (0.38 sec)
2015-01-19
create table imooc_user(
id int unsigned auto_increment key,
username varchar(20) not null unique,
password char(32) not null,
sex enum("保密","男","女") not null,
face varchar(50) not null,
regTime int unsigned not null
);?? 我只能這樣寫了
2015-01-19
我也遇到這個問題?
2014-12-19
同學 請問這個問題解決沒有