mysql - 将多行很长的字符串插入 MySQL 数据库

标签 mysql linux bash shell sql-insert

谁能告诉我如何使用 shell 脚本将多行段落(比如一个非常大的段落)插入 MySQL 数据库表中?

这是我目前正在使用的功能:

function dbPopulate()
{
    command_ouput=$1

    mysql -u $DB_USER -p$DB_PASSWORD << EOF
    use $DB_NAME;

    INSERT INTO $STATS_TABLE (script_runtime, command_output) VALUES (now(), $command_output);

    EOF            
} 

注意:这里的command_output是“longtext”类型

最佳答案

您需要在要插入的字符串周围添加引号:

INSERT INTO `$STATS_TABLE` (script_runtime, command_output) 
    VALUES (now(), '$command_output');

我还在您要插入的表名周围加上了一些反引号,这可以防止您的脚本在表名是保留关键字时失败。

关于mysql - 将多行很长的字符串插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31369098/

相关文章:

python - IF 语句 : Shell to python

php - 在所有页面中保持登录 session

mysql - MySQL 中没有子查询的多表聚合

mysql - MySQL同时更新多表

c - 带有Linux的C中套接字的奇怪段错误

linux - `set -o errtrace` 在 shell 脚本中做什么?

mysql - 使用单选语句在数据库中的所有表中搜索

linux - 向两个用户(我的 apache 服务器和我自己)添加权限

linux - 如何记录通过 ssh 发送的非交互式 bash 命令

linux - 仅通过一个查找/定位的结果