
下面建表的语句哪错了,输出结果总是“建表时出错”,代码如下 20
<?php$con=mysql_connect("localhost","root","198932");//建立连接并赋值给变量if($con)//如果返回连接标识{m...
<?php
$con=mysql_connect("localhost","root","198932"); //建立连接并赋值给变量
if($con) //如果返回连接标识
{
mysql_select_db("test",$con); //选择test操作库
mysql_query("DROP TABLE temp");
$sql="CREATE TABLE temp
(
id int(5) not null auto_increment primary key,
name char(10) not null default '',
sex char(2) not null default '男',
age int(3) not null default 0,
work char(10) not null default '',
city char(10) not null default '',
other char(50) not null default ''
)";
$do=mysql_query($sql,$con); //执行建表SQL语句
if($do) //如果成功执行
{
echo "成功在test数据库中创建表!"; //输出内容
}
else echo "建表时出现错误!";
}
else //如果返回False
{
echo "连接到服务器时出现错误!"; //输出内容
}
?> 展开
$con=mysql_connect("localhost","root","198932"); //建立连接并赋值给变量
if($con) //如果返回连接标识
{
mysql_select_db("test",$con); //选择test操作库
mysql_query("DROP TABLE temp");
$sql="CREATE TABLE temp
(
id int(5) not null auto_increment primary key,
name char(10) not null default '',
sex char(2) not null default '男',
age int(3) not null default 0,
work char(10) not null default '',
city char(10) not null default '',
other char(50) not null default ''
)";
$do=mysql_query($sql,$con); //执行建表SQL语句
if($do) //如果成功执行
{
echo "成功在test数据库中创建表!"; //输出内容
}
else echo "建表时出现错误!";
}
else //如果返回False
{
echo "连接到服务器时出现错误!"; //输出内容
}
?> 展开
2个回答
展开全部
如果出错了最好在执行语句的下边用:
$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识别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询