gpt4 book ai didi

mysql - 使用关键字作为列名时出现错误 1064 (42000)

转载 作者:行者123 更新时间:2023-11-29 01:43:49 24 4
gpt4 key购买 nike

这是怎么回事?在 Gentoo 系统上成功运行,但现在在 Debian-Squeeze (Raspberry PI) 上无法运行。

数据库设置好

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| arduino1 |
| mysql |
| performance_schema |
| test |
| tmp |
+--------------------+
6 rows in set (0.01 sec)

mysql>

命令是:

#mysql -u root -p******* arduino1 < arduino-tables.sql

导致:

ERROR 1064 (42000) at line 1: 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 '(8),
currentTime DATETIME,
timeDiff INT(10),
unixTime INT(10),
currentR1 FL' at line 3

arduino-tables.sql 的内容:

#cat arduino-tables.sql:

CREATE TABLE pulseLog (
id INT(10) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
timeStamp TIMESTAMP(8),
currentTime DATETIME,
timeDiff INT(10),
unixTime INT(10),
currentR1 FLOAT,
currentS2 FLOAT,
currentT3 FLOAT,
currentAverageR1 FLOAT,
currentAverageS2 FLOAT,
currentAverageT3 FLOAT,
temp0 FLOAT,
temp1 FLOAT,
temp2 FLOAT,
temp3 FLOAT,
temp4 FLOAT,
temp5 FLOAT,
pulses INT,
event char(255),
) CHARACTER SET UTF8;

最佳答案

那里有一些拼写错误,比如 timestamp 是一个关键字,你在后面多了一个逗号事件字符 (255),

试试这个:

    CREATE TABLE pulseLog (
id INT(10) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
`timeStamp` TIMESTAMP,
`currentTime` DATETIME,
`timeDiff` INT(10),
`unixTime` INT(10),
`currentR1` FLOAT,
`currentS2` FLOAT,
`currentT3` FLOAT,
`currentAverageR1` FLOAT,
`currentAverageS2` FLOAT,
`currentAverageT3` FLOAT,
`temp0` FLOAT,
`temp1` FLOAT,
`temp2` FLOAT,
`temp3` FLOAT,
`temp4` FLOAT,
`temp5` FLOAT,
`pulses` INT,
`event` char(255)
) CHARACTER SET UTF8;

这是 SQL Fiddle DEMO

编辑:

除此之外,不支持您的时间戳语法。供日期、日期时间和时间戳引用 check here

关于mysql - 使用关键字作为列名时出现错误 1064 (42000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12367145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com