2017-03-12 47 views
2

我想將我的一個數據庫導出到我的樹莓。我嘗試通過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 

怎麼回事?

+0

請發表你的目標的MySQL版本。 –

回答

3

您的日期時間字段指定爲fractional secondsdatetime(1)

目標mysql版本(< v5.7)可能不支持此功能,因此會顯示錯誤消息。

您或者需要升級目標mysql版本以支持小數秒,或者需要從導出文件中刪除小數秒,無論是從數據定義還是數據本身。

+0

數據可能不需要更改。 MySQL可能會截斷或舍入它。 –

+0

謝謝,這是問題所在。我只是想「克隆」結構,所以數據沒有導入/導出。 – Feralheart

0

刪除單詞「datetime」後面的「(1)」,因爲它 不需要長度 (對不起,它不是「長度」,它是小數秒指定)。下面應該工作:

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; 
+0

這不是長度,而是我在答案中指出的小數秒。 – Shadow

+0

@Shadow,謝謝,我的立場正確和受過教育。 – PaulH

1
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 
) ; 
+1

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或解決問題原因的其他上下文會提高答案的長期價值。 –

相關問題