MySQL中文参考手册--- MySQL与标准的兼容性
2008-12-19 11:14:27 来源:WEB开发网在一个语句用:=设置变量的可能性:
SELECT @a:=SUM(total),@b=COUNT(*),@a/@b AS avg FROM test_table;
SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
以ANSI模式运行MySQL
如果你用--ansi选项启动mysqld,MySQL的下列行为改变。
||是字符串并置而不是OR。
可在一个函数名字之间与“(”有任何数量的空格。这也使所有的功能名字成为保留词。
"将是一个标识符引号字符(象MySQL `引号字符一样)而不是一个字符串引号字符。
REAL将是FLOAT一个同义词,不是DOUBLE一个同义词。
5.3 MySQL相比ANSI SQL92的差别
我们尝试使得MySQL遵照ANSI SQL标准和ODBC SQL标准,但是在一些情况下,MySQL做一些不同的事情:
--只是一个注释,如果后面跟一个白空字符。`--'作为一个注释的开始。
对于VARCHAR列,当值被存储时,拖后的空格被删除。见E MySQL已知的错误和设计缺限。
在一些情况下,CHAR列偷偷地被改变为VARCHAR列。平静的列指定变化。
当你删除一个表时,对表的权限不自动地废除。你必须明确地发出一个REVOKE来废除对一个表的权限。见7.26 GRANT和REVOKE句法。
MySQL缺乏的功能
下列功能在当前的MySQL版本是没有的。对于一张优先级表指出何时新扩展可以加入MySQL, 你应该咨询在线MySQL TODO 表。这是本手册最新的TODO表版本。见F 我们想要在未来加入到MySQL的事情列表(TODO)。
子选择
在MySQL中下列语句还不能工作:
SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
更多精彩
赞助商链接