我正在尝试运行一些bash脚本。我使用crontab,错误邮寄到我的邮件。我收到这个错误:
ERROR 1136 (21S01) at line 8: Column count doesn't match value count at row 1
但是,第8行是: TABLELIST = “MyListOfTables”
我认为错误是由于MySQL出现的......我错了吗? 所以也许“第8行”不仅仅是我脚本的第8行。是否有计算线的规则?
有我的剧本。你能告诉我“第8行”是什么行吗?
## some text
## some text
## some text
## some text
## some text
VAR1="something"
VAR2="something" ....LINE 8???
VAR3="something"
VAR4="something"
VAR5="something"
VAR6="something"
VAR7="something"
VAR8="something"
# some text
# some text
mysql -D ${VAR4} -pPassword <<EOF
## some text
truncate table table_one;
truncate table table_two;
...
答案 0 :(得分:1)
此文档是文件文字或输入流文字:它是源代码文件的一部分,被视为单独文件。 因此,此处文档中包含的任何代码都被视为单独的文件,
在你的脚本中
# some text
# The here document starts here
mysql -D ${VAR4} -pPassword <<EOF #line 1
## some text #line 2
truncate table table_one;
truncate table table_two;
...
EOF #line n
从mysql -D ${VAR4} -pPassword <<EOF
开始到此文档结束(EOF)的行作为单独的文件执行,第8行是语句mysql -D ${VAR4} -pPassword <<EOF
答案 1 :(得分:0)
搜索&#34; ERROR 1136&#34;除了&#34; Column&#34;两者都强烈暗示错误来自MySQL而不是shell。看看 mysql -D ${VAR4} -pPassword <<EOF
行之后在第八行上终止的查询。