如何解决从Linux Bash到mysql:选择或删除具有外部值的记录
MariaDB [DevicesPool]> show columns from Dirs_and_Names;
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| LNR | int(11) | NO | PRI | NULL | auto_increment |
| D_Nr | varchar(2) | NO | | NULL | |
| Filename | varchar(100) | NO | | NULL | |
| Path_and_File | varchar(250) | NO | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+
4 rows in set (0.000 sec)
背景:在此表中存储了我从不同设备收集的所有视频文件。 我的目的是收集此表中的视频文件以移至另一个存储设备, 或删除它,包括删除或更改表中的记录。 我的想法是在(临时)列表中收集一组视频文件,然后开始进行批处理。
但是首先,我做了一些基本的测试参数转发,但没有成功。
首先,我正在使用批处理将数字放入包含以下内容的字符串(id)中218。
然后,我想用MysqL -e命令显示一条记录,以选择或删除LNR包含ID的记录,该记录是我以前批量分配的。
类似这样的内容(引号内的$ id):
id=218; MysqL -uuser -psecret -e 'use DevicesPool; SELECT * FROM Dirs_and_Files WHERE LNR="$id";'
MariaDB [DevicesPool]> SELECT * FROM Verz_und_Namen WHERE LNR=218;
+-------+------+------------------+----------------------------------------------------+
| LNR | F_Nr | Fileiname | Path_and_File |
+-------+------+------------------+----------------------------------------------------+
| 218 | 01 | King_Kong.mp4 | /home/user/Movies/King_Kong.mp4 |
+-------+------+------------------+----------------------------------------------------+
1 row in set (0.001 sec)
执行此命令时($ id不加引号):
id=218; MysqL -uuser -psecret -e 'use DevicesPool; SELECT * FROM Dirs_and_Names WHERE LNR=$id;'
ERROR 1054 (42S22) at line 1: UnkNown column '$id' in 'where clause'
所以,我的问题在这里:
如何使用批处理外部变量(字符串?)作为MysqL -e命令中的参数?确实,如何选择或删除具有外部分配ID的记录?
谢谢。
-Linuxfluesterer
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。