In the last episode (May 12), Larry Lowry said: > A uniqueidentifier in MS SQL is basically a guid. I am generating > them via System.Guid.NewGuid().ToString(N") in the Dot Net > framework which now returns me a string of 32 characters (hex). > Internally I understand it is a 128-bit integer. As an option I could > store that in MySql. What data type would that be? > > How would one convert to binary char(16)? In what documentation > would I find this? I do not know enough yet to write a UDF.
You'll need to build your own INSERT statement, since I don't know of any way to convert an arbitrary hex string to a binary with mysql functions (although you can use the HEX() function to go the other way). What you can do is insert a hex value directly into a binary field. Say your generated uuid was "cb0217f9-a47b-11d8-89f3-0080ad08fb4f": UPDATE mytable SET myfield=CAST(0xcb0217f9a47b11d889f30080ad08fb4f as INARY); It must be exactly like this, not within quotes. You also might want to try just setting your uniqueid field directly using bind variables/ placeholders. If ODBC is smart enough, it will realize that both source and destination are 16 bytes and just pass the raw binary value without any bin->hex->bin conversion. Another option is to convert the guid to a raw string yourself with .net, and pass that to mysql. -- Dan Nelson [EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]