mysql> CREATE TABLE CYRSTUDENTS(
-> Sno VARCHAR(10) NOT NULL PRIMARY KEY,
-> Sname VARCHAR(20) NOT NULL);
Query OK, 0 rows affected (0.05 sec)
mysql> ALTER TABLE CYRSTUDENTS ADD COLUMN Sno VARCHAR(10) NOT NULL;
ERROR 1060 (42S21): Duplicate column name 'Sno' //明明是空表却提示重复??
mysql> SELECT * FROM CYRSTUDENTS
-> ;
Empty set (0.00 sec)
mysql> ALTER TABLE CYRSTUDENTS ADD COLUMN Snom VARCHAR(10) NOT NULL;
Query OK, 0 rows affected (0.07 sec)
Records: 0 Duplicates: 0 Warnings: 0
懂了 刚刚脑子不清楚
1、项目刚开始运行时是正常的,可以正常访问,可是运行了一段时间就报错。
2、查询下设置最大值SHOW VARIABLES LIKE '%max_allowed_packet%';。
3、找到mysql的安装目录。
4、打开my.ini,文件。
5、查找max_allowed_packet,有的文件没有,没有的话增加[mysqld]。max_allowed_packet = 20M。
6、然后重启,mysql,运行程序,可以正常添加数据,问题就解决了。
1、check table 和 repair table
输入:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2、myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI。
扩展资料:
MySQL 中文排序错误的解决方法
方法1
在 MySQL 数据库中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在 MySQL 的很多版本中都存在。如果这个问题不解决,那么 MySQL 将无法实际处理中文。
出现这个问题的原因是:MySQL 在查询字符串时是大小写不敏感的,在编绎 MySQL 时一般以 ISO-8859 字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,一种解决方法是对于包含中文的字段加上 "binary" 属性,使之作为二进制比较,例如将 "name char(10)" 改成 "name char(10)binary"。
方法2
如果你使用源码编译 MySQL,可以编译 MySQL 时使用 --with--charset=gbk 参数,这样 MySQL 就会直接支持中文查找和排序了。
参考资料来源:百度百科-mySQL
本回答被网友采纳