我有一个名为“crea”的数据库,其中有一个名为“assets”的表,并且在这个表中我有11列名为(name,description,assetType,local,temporary ,数据,ID,CREATE_TIME,access_time,asset_flags,的CreatorID)ERROR 1048(23000)at line 1:Column can not be null
我也有很多图片的目录文件夹中.jp2格式(xxxx.jp2)
什么即时试图做的是批量插入这些图片在我的数据库的“资产”表中,所以我决定用2个shell脚本来完成,两者都在图片目录中。
当我从终端启动./assetadd.sh,我得到这个错误从MySQL:
ERROR 1048 (23000) at line 1: Column 'data' cannot be null
我查了很多时间和IM确保列“数据”心不是NULL(型号:LONGBLOB二进制空:不),所以我真的不明白为什么我得到这个错误。
帮助将被折衷。谢谢
- 脚本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"
[email protected]
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
任何文件的'在他们的名字? – 2012-01-09 18:11:11