急!mysql dump出来的文件恢复不回去

iq199 2003-11-07 10:22:47
mysql xtdb < xtdb.sql

报错如下
ERROR 1064 at line 629: You have an error in your SQL syntax. Check the manual
that corresponds to your MySQL server version for the right syntax to use near '
right varchar(4) DEFAULT '' NOT NULL,
UNIQUE empright_x (log

我的文件629行如下:
CREATE TABLE empright (
login varchar(20) DEFAULT '' NOT NULL,
right varchar(4) DEFAULT '' NOT NULL,
UNIQUE empright_x (login,right)
);

另外我的源数据库的版本是3.22.27
目标数据库的版本是4.0.16-standard
和这个有关系吗?
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Arbow 2003-11-08
  • 打赏
  • 举报
回复
不是单引号 ' ,而是 `,1键左边那个!
iq199 2003-11-07
  • 打赏
  • 举报
回复
重新描述一下问题:

我以前的数据库在3.22.27上
有一个表的一个列名为right

3.22.27版允许列名为right
我在3.22.27版的数据库上执行这样的建表语句可以成功:
create table mytable2(right int not null);

我现在要把数据库迁移到另一台服务器上,数据库版本为4.0.16
但4.0.16好像不允许列名为right
执行这样的语句会报错:
create table mytable2(right int not null);

ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near 'right int no
t null)' at line 1

我现在没有办法修改列名,因为很多程序使用了这个列,我不可能去逐一的修改程序。
请问有没有办法解决,多谢!!!!!!
iq199 2003-11-07
  • 打赏
  • 举报
回复
急呀!!!
iq199 2003-11-07
  • 打赏
  • 举报
回复
修改成这样还是不行
CREATE TABLE empright (
login varchar(20) DEFAULT '' NOT NULL,
'right' varchar(4) DEFAULT '' NOT NULL,
UNIQUE empright_x (login,'right')
);
错误信息为:
ERROR 1064 at line 629: You have an error in your SQL syntax. Check the manual
that corresponds to your MySQL server version for the right syntax to use near '
'right' varchar(4) DEFAULT '' NOT NULL,
UNIQUE empright_x (l
Arbow 2003-11-07
  • 打赏
  • 举报
回复
呵,easy,改成这样

CREATE TABLE empright (
login varchar(20) DEFAULT '' NOT NULL,
`right` varchar(4) DEFAULT '' NOT NULL,
UNIQUE empright_x (login,`right`)
);

因为right是MySQL里面的保留字

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧