在MySQL恢复旧数据库(Restoring old database in Mysql)

2019-10-17 15:51发布

我想用phpMyAdmin来恢复旧数据库(2009年)。 我得到以下错误:

#1064 - 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 'not_null primary_key auto_increment, `Owned` int(11) not_null, `Owner` int' at line 2

我GOOGLE了错误,但无法找到一个解决方案。 我明白有些事情多年来与MySQL改变,但我应该怎么办?

我的查询如下:

CREATE TABLE `aautod` (
    `aAutoId` int(11) not_null primary_key auto_increment, 
    `Owned` int(11) not_null, 
    `Owner` int(11) not_null, 
    `Description` string(64) not_null, 
    `Model` int(11) not_null, 
    `Value` int(11) not_null, 
    `Locked` int(11) not_null, 
    `ColorOne` int(11) not_null, 
    `ColorTwo` int(11) not_null, 
    `License` string(100) not_null, 
    `Locationx` real(12) not_null, 
    `Locationy` real(12) not_null, 
    `Locationz` real(12) not_null, 
    `Angle` real(12) not_null, 
    `Parked` real(12) not_null, 
    `ParkLocationx` real(12) not_null, 
    `ParkLocationy` real(12) not_null, 
    `ParkLocationz` real(12) not_null, 
    `ParkAngle` real(12) not_null, 
    `GPS` int(11) not_null, 
    `Color1` int(11) not_null, 
    `Color2` int(11) not_nul, 
    PRIMARY KEY (`aAutoId`)
) TYPE=MyISAM DEFAULT CHARSET=latin1;

Answer 1:

你有多个错误:

正如已经指出not_null应该是not null 。 除了primary_key应该是primary key

我改变string(xx)varchar

http://dev.mysql.com/doc/refman/5.5/en//string-types.html

real(xx)有两个参数,而不是1,第二个参数是地方多少小数小数点后。

http://dev.mysql.com/doc/refman/5.5/en/floating-point-types.html

type=MyISAM改变为Engine=MyIsam

您还定义了主键两次,一次是在第一行的声明,并在表声明的最后一行。 我改变了这个只有一次申报。

CREATE TABLE `aautod` (
`aAutoId` int(11) not null primary key auto_increment, 
`Owned` int(11) not null, 
`Owner` int(11) not null, 
`Description` varchar(64) not null, 
`Model` int(11) not null, 
`Value` int(11) not null, 
`Locked` int(11) not null, 
`ColorOne` int(11) not null, 
`ColorTwo` int(11) not null, 
`License` varchar(100) not null, 
`Locationx` real(12,11) not null, 
`Locationy` real(12,11) not null, 
`Locationz` real(12,11) not null, 
`Angle` real(12,11) not null, 
`Parked` real(12,11) not null, 
`ParkLocationx` real(12,11) not null, 
`ParkLocationy` real(12, 11) not null, 
`ParkLocationz` real(12, 11) not null, 
`ParkAngle` real(12, 11) not null, 
`GPS` int(11) not null, 
`Color1` int(11) not null, 
`Color2` int(11) not null
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Answer 2:

它应该是两个单独的词: NOT NULLPRIMARY KEY



文章来源: Restoring old database in Mysql