下面建表的语句哪错了,输出结果总是“建表时出错”,代码如下

2025-05-22 16:01:29
推荐回答(2个)
回答(1):

如果出错了最好在执行语句的下边用:

$do=mysql_query($sql,$con);     //执行建表SQL语句
echo mysql_error();             //输出当前的错误信息

你这个的错误提示是:

    Invalid default value for 'sex'

就是sex 的默认值有问题:

    sex char(2) not null default '男',


你这里设置的字段长度为2,有些欠考虑了。

中文字符集常用的有俩个一个是UTF-8 一个是GBK ;

如果你使用的是GBK字符集的数据库没问题,但如果是UTF-8的就行不通了,他的默认长度是3个字节,你将sex char(2) 改成 sex char(3)就可以了,或者去设置下你的数据库字符集,给成GBK的也成。

//mysql_query(set names gbk); 将字符集设置为GBK
//mysql_query(set names utf8); 将字符集设置为UTF-8

性别常用tinyint 类型,然后用 0,1识别。 

回答(2):

楼主看网页页面用的什么编码···GBK的话先set names gbk ; 如果是UTF8 sex char(2) 应该致为3