Variable definition inside mysql query


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Variable definition inside mysql query
# 1  
Old 05-09-2019
Variable definition inside mysql query

Hello,
I am running ubuntu16.04.
By means of @Rudic's help, I have below command.
What I need to do is to replace video_id by value of video_id in which WHERE clause is matched:

Code:
{print  "INSERT INTO video_series_files (id, video_id, file_type, protocol, \ 
url, languages, quality, accessed ,status )" \
        " SELECT '." ++CNT ".', video_id, 'sub', 'custom', \
'http://localhost/test/" $1 "." $2 "." $3 "', 'a:1:{i:0;s:2:'" $2 \
        "';}', '', '1', '1' FROM video_series_files WHERE url like '%" $1 "%.mkv';"}

video_id is the name of column, video_id should be the value inside the same row when "WHERE" query matches.

I assigned variable as @video_id and then tried to grab the value_id but no luck :
Code:
{print  "INSERT INTO video_series_files (id, video_id, file_type, protocol, url, languages, \
quality, accessed ,status )"  \
      " SELECT '." ++CNT ".', @video_id, 'sub', 'custom', \
'http://localhost/test/" $1 "." $2 "." $3 "', 'a:1:{i:0;s:2:'" $2 \
        "';}', '', '1', '1' FROM video_series_files WHERE url like '%" $1 "%.mkv' \
AND SET @video_id=video_id IN (SELECT video_id FROM video_series_files \
WHERE url like '%$COL1%.mkv') ;" }

I'd appreciate your help
Thank you
Boris
# 2  
Old 05-09-2019
replace means update not insert ???
# 3  
Old 05-09-2019
Hello Wassi,
I add new row, so insert is the correct command for this case

Kind regards
Boris
# 4  
Old 05-09-2019
That "set variable" seems to be too much effort. On the other hand, my mysql is non existent.

Please show the result of
Code:
mysql -uroot -D mydatabase -pmypasswd  -sN -e "SELECT video_id FROM video_series_files WHERE url like '%Mr.Smith.Goes.to.Washington%.mkv';"

# 5  
Old 05-09-2019
Hello Rudic,
It gives:
Code:
658

Thank you
Boris
# 6  
Old 05-09-2019
Then, with this single number result,

Code:
SELECT '.105.', video_id, 'sub', 'custom', 'http://localhost/test/Mr.Smith.Goes.to.Washington.en.srt', 'a:1:{i:0;s:2:"en";}', '', '1', '1' FROM video_series_files WHERE url like '%Mr.Smith.Goes.to.Washington%.mkv';

should yield one record that can be inserted immediatedly. What result do you get from this select statement? Where are you stuck? What does not work?
# 7  
Old 05-09-2019
Hello,
When I run it with multiple files as you guided yesterday, output barisprep.sql seems like (just excerpted related field):
Code:
INSERT INTO video_series_files (id, video_id, file_type, protocol, url, languages, quality, \
accessed ,status ) SELECT '.1381.', video_id, 'sub', 'custom', 'http://localhost/test/How.To.Steal.A.Mi$
INSERT INTO video_series_files (id, video_id, file_type, protocol, url, languages, quality, \
accessed ,status ) SELECT '.1381.', video_id, 'sub', 'custom', 'http://localhost/test/Human.Traffic.de.$
INSERT INTO video_series_files (id, video_id, file_type, protocol, url, languages, quality, \
accessed ,status ) SELECT '.1381.', video_id, 'sub', 'custom', 'http://localhost/test/I.Am.Heath.Ledger

Instead of bold video_id in line including SELECT, I am trying to insert value of related video_id grabbed from the table for related $1 at each line....

Let's say
If video_id of Mr.SmithGoes.to.Washington.mkv is 655, I am trying to replace video_id text shown in bold as 655
If video_id of Human.Traffic.mkv is 1233, I am trying to replace video_id text shown in bold as 1233

Like This:
Code:
SELECT '.105.', '.655.', 'sub', 'custom', 'http://localhost/test/Mr.Smith.Goes.to.Washington.en.srt', 'a:1:{i:0;s:2:"en";}', '', '1', '1' FROM video_series_files WHERE url like '%Mr.Smith.Goes.to.Washington%.mkv';

Thank you
Boris
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Environment variable definition

I'm a bit confused about the term ‘environment variables'. Within your shell you can set two types of variables: 1. Shell variable - affecting functionality within your shell 2. User defined variable When using the ‘export' command on a variable you make sure it's being inherited by new sub... (2 Replies)
Discussion started by: niels
2 Replies

2. UNIX for Advanced & Expert Users

Variable definition

Hi all, I'm bit new to the advanced bash shell scripting. When I'm looking at some of the existing code in my organization, got confused with a few variable definings. For ex: var1={1:-30} var2="abc def ghi" var3={xyz:-$var2} In above, 1st and last lines are confusing me.... (4 Replies)
Discussion started by: raghu.iv85
4 Replies

3. UNIX for Dummies Questions & Answers

What is inside the definition of Unix?

Is FreeBSD and OpenBSD considered Unix? What O.S does Most of the forum members use? How popular are Licensed Unix operating systems for home users? Additionally I thought Linux was a Minux fork and BSD was a Unix fork. Thanks in ... (7 Replies)
Discussion started by: theKbStockpiler
7 Replies

4. Shell Programming and Scripting

Using a shell script variable in a mysql query using 'LIKE'

Hello. I am writing a simple script that reads a text file and removes records from a mysql database. The items in the text file are of the format: firstname.middle.lastXXX, where XXX is a 3 digit number. The table has an email field that will match the firstname.middle.last. So, I thought I... (1 Reply)
Discussion started by: bricoleur
1 Replies

5. Shell Programming and Scripting

bash assign mysql query single field to variable

I'm running a bash script query and assigning the output to a variable like this: exists=`mysql -u $USER_NAME --password=$PASSWORD -D "somedb" \ -e "SELECT * FROM somedb.sometable WHERE field1 ='$a' \ AND field2 ='$b' LIMIT 0 , 30";` which returns something like: echo... (2 Replies)
Discussion started by: unclecameron
2 Replies

6. Shell Programming and Scripting

How to define a variable with variable definition is stored in a variable?

Hi all, I have a variable say var1 (output from somewhere, which I can't change)which store something like this: echo $var1 name=fred age=25 address="123 abc" password=pass1234 how can I make the variable $name, $age, $address and $password contain the info? I mean do this in a... (1 Reply)
Discussion started by: freddy1228
1 Replies

7. Shell Programming and Scripting

variable inside variable inside loop headache

Hi Gurus I have a file called /tmp/CMDB which looks like this serial: 0623AN1208 hostname: server1 model: x4100 assetID: 1234 I am writing a for loop that will go through this file line by line creating a variable of itself. Using the first iteration of the loop (i.e. the first line) as... (6 Replies)
Discussion started by: hcclnoodles
6 Replies

8. Shell Programming and Scripting

Passing a variable from shell script to mysql query?

I heard this was possible but from my research I haven't been able to figure it out yet. Seems it should be simple enough. Basically from a high level view I'm trying to accomplish... . $X='grep foo blah.log' then 'mysql command SELECT foo FROM bar WHERE ' . $X or something like that. ... (2 Replies)
Discussion started by: kero
2 Replies

9. Shell Programming and Scripting

What wrong with the variable definition

i am using the below script and trying to move files in that directory in that pattern to archive. But it doesn;t seem to take the metacharacters. Please sugggest. Code Debug output: (1 Reply)
Discussion started by: dsravan
1 Replies
Login or Register to Ask a Question