Azure的MS-SQL和唯一标识符从PHP
问题描述:
SQL命令:Azure的MS-SQL和唯一标识符从PHP
INSERT INTO BRANCH (COMPANY,BRANCH,CODE,NAME)
VALUES('CC23E791-088D-4BC4-AC62-2BC9522584D5',
'6335E463-9A27-4FEC-8C79-239A574D254B',
'1000',
'TheName')
总是失败,错误:
[Microsoft][SQL Server Native Client 10.0][SQL Server]Conversion failed when converting from a character string to uniqueidentifier.
此命令可以完美运行:
select cast('6335E463-9A27-4FEC-8C79-239A574D254B' as unique identifier)
select cast('CC23E791-088D-4BC4-AC62-2BC9522584D5' as uniqueidentifier)
有什么不对?
答
您不能直接将字符串转换为UUID,您必须提供显式强制转换才能使其工作。这在大多数编程语言中都是等价的。
外界到PHP的作品完美。为什么? – Giannis 2012-02-05 18:25:27
我不确定你在问什么,但是PHP的类型转换比SQL的类型转换要宽松得多,因为PHP是动态类型的,而SQL是静态类型的。 – Polynomial 2012-02-06 11:55:05