从本地主机导出到同一 LAN 上的远程主机

Export from localhost to remote on the same LAN

我想将我的一个数据库导出到我的 Raspberry。我尝试通过 PHPMyadmin,但在导入时我收到了这个错误消息:

SQL query:

--
-- Database: `leltar`
--

-- --------------------------------------------------------

--
-- Table structure for table `eventlog`
--

CREATE TABLE `eventlog` (
  `ID` int(50) NOT NULL,
  `event` varchar(50) COLLATE utf8_hungarian_ci NOT NULL,
  `productbc` varchar(50) COLLATE utf8_hungarian_ci DEFAULT NULL,
  `uname` varchar(50) COLLATE utf8_hungarian_ci NOT NULL,
  `datetime` datetime(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;

MySQL said: Documentation
#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 '(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci' at line 16 

怎么了?

您的日期时间字段已指定 fractional secondsdatetime(1)

目标 mysql 版本 (< v5.7) 可能不支持此功能,因此出现错误消息。

您要么需要升级您的目标 mysql 版本以支持小数秒,要么您需要从数据定义和数据本身的导出文件中删除小数秒。

去掉"datetime"后面的“(1)”,因为不需要长度(抱歉,不是"length",是小数秒规格)。以下应该有效:

CREATE TABLE `eventlog` (
  `ID` int(50) NOT NULL,
  `event` varchar(50) COLLATE utf8_hungarian_ci NOT NULL,
  `productbc` varchar(50) COLLATE utf8_hungarian_ci DEFAULT NULL,
  `uname` varchar(50) COLLATE utf8_hungarian_ci NOT NULL,
  `datetime` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
CREATE TABLE `eventlog` (
  `ID` int(50) NOT NULL,
  `event` varchar(50) COLLATE utf8_hungarian_ci NOT NULL,
  `productbc` varchar(50) COLLATE utf8_hungarian_ci DEFAULT NULL,
  `uname` varchar(50) COLLATE utf8_hungarian_ci NOT NULL,
  `datetime` DATETIME NOT NULL
) ;