お世話になります。
リモートでMySQLのTableをLockする方法でスタックしてしまい、ここで質問させていただきます。

現在、MySQLのテーブルをリモートから編集できるようなscriptを作成しております。
複数のマシーンから同時にそのテーブルにアクセスするのを防ぐために、「Lock」と「Unlock」を使うことにしました。

以下簡単ですが、使ったコマンドです。

>lock table MovieIDs write;
>select feature1, feature2 from MovieIDs where STATUS = 'setup' and GroupID = '1' ORDER BY RAND() limit 1;
>update MovieIDs set STATUS = 'process' where STATUS = 'setup' and feature1 = 'test1' and feature2 = 'test1' and GroupID = '1';
>unlock tables;

のようにしました。
上記のコマンドをMySQLに(localから)直接ログインした状態では、うまく動いていることを確認できました。

そこで、上記のコマンドをgo言語を使って、リモートからログインした状態で動かすようなscriptを書きました。

package main

import (
        "os"
        "fmt"
)

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

func main() {
  db, err := sql.Open("mysql", "usrname:passwrd@tcp(ipaddress)/DBname")
  if err != nil {
    panic(err.Error())
  }
  defer db.Close()

  GroupID := "1";
  idx10 := 0;
  for {
        command := "";

        command = "lock table MovieIDs write;";
        fmt.Println(command)
        _, _ = db.Query(command)

        command = "select feature1, feature2 from MovieIDs where STATUS = 'setup' and GroupID = '"+GroupID+"' ORDER BY RAND() limit 1;";
        fmt.Println(command)   
        rows, _ := db.Query(command) //<-ここが問題の箇所です
        var feature1, feature2 string;
        for rows.Next() {
            err = rows.Scan(&feature1, &feature2);
        }
        idx10 += 1;
        if avi_name == "" {
            break;
        } else {
            fmt.Println(idx10, feature1, feature2);
        }

        command = "update MovieIDs set STATUS = 'process' where STATUS = 'setup' and feature1= '"+feature1+"' and feature2= '"+feature2+"' and GroupID = '"+GroupID+"';";
        fmt.Println(command)
        _, _ = db.Query(command);

        command = "unlock tables;"
        fmt.Println(command)
        _, _ = db.Query(command)
    }

    os.Exit(1)
}

問題は、このscriptを動かしますと、第2のcommand文("ここが問題の箇所です")の箇所でプログラムが止まってしまいます。

考えられる原因としては,
第1文("lock table MovieIDs write;")と第2文ではアクセスが別ものと認識されて、第1文でLockされているtableには第2文からアクセス不可だと思っております。

質問ですが、この問題を回避できるような方法はありますでしょうか?

ご教授をお願いします。
よろしくお願いします。