MySQL:错误1064(42000)SQL语法

时间:2012-01-09 17:45:19

标签: mysql bash

我有一个名为“crea”的数据库,其中包含一个名为“assets”的表,在此表中我有11列命名(name,description,assetType,local,temporary,data,id,create_time,access_time,asset_flags,CreatorID)

我还有一个包含许多.jp2格式图片的目录文件夹(xxxx.jp2)

我想要做的是将这些图片批量插入我数据库的“资产”表中,所以我决定使用2个shell脚本,两者都在带有图片的目录中。

当我从终端启动./assetadd.sh时,我从MySQL收到此错误:

  

第1行的错误1064(42000):您的SQL语法出错;   检查与您的MySQL服务器版本对应的手册   在第1行的'??,asset_flags,CreatorID)VALUES附近使用正确的语法

我不知道这些脚本有什么问题,语法错误在哪里......我多次检查表/列的名称,看看我是否犯了错误,但看起来都很好。

如果有人有一点时间看一下这些脚本,并告诉我这有什么问题,这将是非常令人厌恶的。

谢谢

PS:我的操作系统是Ubuntu 11.10

- 脚本1:assetsadd.sh

#!/bin/bash

path=$(pwd)
find $path/ -type f \( -iname *.jp2 \) -exec ./insertjp2.sh {} \;

echo "finished!!"

- 脚本2:insertjp2.sh

#!/bin/bash

user="crea"
password="crea"
database="crea"
dbhost="localhost"
creator="crea"

param=$@
basenam=${param##*/}
filenam=${basenam%.*}

MYSQL=`/usr/bin/mysql -u$user -p$password -D$database -e"INSERT INTO assets (name,description,assetType,local,temporary,data,id,create_time,access_time​,asset_flags,CreatorID) VALUES ('$filenam','$filenam',0,0,0,LOAD_FILE('$param'),'$filenam',UNIX_TIMESTAMP(),1325304546,0,'$creator' );"`

echo $param >> assetadd.log
echo $MYSQL

1 个答案:

答案 0 :(得分:0)

您似乎在错误消息的位置有一个奇怪或不可打印的字符:

access_time​,asset_flags
           ^