import Control.Monad import Database.HDBC import Database.HDBC.MySQL countString x = "('Count " ++ (sqlValue $ head x) ++ "')" sqlValue x = show ( fromSql(head x) :: String) main = do conn <- connectMySQL defaultMySQLConnectInfo { mysqlHost = "localhost", mysqlPort = 3306, mysqlUnixSocket = "/var/run/mysqld/mysqld.sock", mysqlDatabase = "hdbcTest", mysqlUser = "hdbc", mysqlPassword = "hdbc" } rows <- quickQuery' conn "SELECT count(*) from test" [] run conn ("insert into test (value) values" ++ countString rows) [] rows <- quickQuery' conn "SELECT value from test" [] forM_ rows $ \row -> putStrLn $ sqlValue row