亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師,我定義了用戶的性別`sex` enum("男","女","保密")not null default"保密",,為什么寫入數據庫時一直提示ERROR 1067 (42000): Invalid default value for 'sex' 無效的?。?。是不是要取消保密啊

正在回答

6 回答

是你字符集的事,你看看你的編碼方式,臨時轉換客戶端的編碼方式SET NAMES GBK,之后status看看數據庫的編碼方式是不是兩個utf8,兩個gbk

^-^...

1 回復 有任何疑惑可以回復我~
#1

akang007

老師你說的不行啊
2015-05-28 回復 有任何疑惑可以回復我~

?這個這樣寫就可以了,望采納


-- 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;

1 回復 有任何疑惑可以回復我~

設置表的字符集字符集與你的庫字符集一致 ?我的代碼如下:

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)


10 回復 有任何疑惑可以回復我~
#1

aiecho

果然要這樣,但是不知道為什么,之前設置過set names gbk;
2016-08-28 回復 有任何疑惑可以回復我~

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
);?? 我只能這樣寫了

0 回復 有任何疑惑可以回復我~

我也遇到這個問題?

0 回復 有任何疑惑可以回復我~

同學 請問這個問題解決沒有

0 回復 有任何疑惑可以回復我~
#1

一路向北91

解決了
2015-06-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
手把手教你實現電商網站后臺開發
  • 參與學習       117254    人
  • 解答問題       2101    個

手把手教你用PHP搭建電子商務平臺,由淺入深教你搭建電商系統

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號