2016-07-05 86 views
0
CREATE TABLE 'test'.'sensor' (

'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
'time' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
'value' VARCHAR(10) NOT NULL 
); 

這是我在phpmyadmin中輸入的代碼。當我按下去我得到了以下錯誤:phpmyadmin使用mysql db的語法錯誤

#1064 - 你的SQL語法錯誤,檢查對應於您MariaDB的服務器版本使用附近的'測試「正確的語法手冊。‘傳感器’( ‘身份證’INT NOT NULL AUTO_INCREMENT PRIMARY KEY, ‘時間’紐約時報」在1號線

我試圖改變一些聲明,但不可能得到error..can請你幫我出

回答

1

MySQL使用反引號逃脫標識符,單引號和雙引號的字符串

在這種情況下,你應該怎麼辦?:

CREATE TABLE `test`.`sensor` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
`value` VARCHAR(10) NOT NULL 
); 

值得注意的是,只有當你的姓名與reserved keyword相沖突時,反引號纔是嚴格要求的,甚至許多隻在特定的情況下才有意義。總是需要轉義ORDERSELECT等術語,因此最好避免將它們用於列或表名。同樣,TIME也是一個列類型,所以你可能想要選擇一個不同的名稱。

此外TIMESTAMP列類型非常有限,值只能存在於1970到2038的範圍內,所以不建議使用它。按比較而言,類型爲1000至9999年的範圍,對於大多數需求而言足以滿足要求。值得記住的還有一些,比如自動UTC轉換。

+0

謝謝你這麼多工作.. – Maryam