【发布时间】:2020-08-15 09:58:19
【问题描述】:
我正在运行一个返回多行文本的 python 脚本,我使用以下截断命令 tr 并希望将其添加到我的数据库中。
我从这里开始:这将删除未格式化的行分隔符。
tr -d '\15\32' < long_text > unixfile.txt
然后我得到一个如下所示的输出:
Happy Birthday Stackoverflow
Happy Birthday to you
Happy Birthday Stackoverflow
我使用以下命令将其放入变量中:
lyrics=$(cat unixfile.txt)
mysql --user=USER --password=PASSWORD --database='DB' --execute='INSERT INTO `song_lyrics` (`id`, `song_id`, `lyrics`, `info`) VALUES ('"'$i'"', '"'$i'"', '"$lyrics"', '0');'
ERROR 1064 (42000) at line 1:
似乎 MySQL 在三个不同的命令中看到了我的整个 3 行字符串(如上所示),因为 unixfile.txt 的输出出现在错误输出中。
【问题讨论】:
-
可能是您错过了 SQL 的报价吗?比较
'"'$i'"'和'"$lyrics"'。