CREATE TABLE findings (
ident VARCHAR(28),
code VARCHAR(8),
when DATETIME,
ip VARCHAR(15)
);
回答
这个词的时候。
在一些数据库中,这是一个关键字。因此,在处理创建表指令时,您可能会从数据库管理系统中获得一些错误。
when
是一个keyword in mysql,需要用反引号被引用:
CREATE TABLE `findings` (
`ident` VARCHAR(28),
`code` VARCHAR(8),
`when` DATETIME,
`ip` VARCHAR(15)
);
编辑:已正确地指出了评论,这不是一个很好的解决方案。你最好为你的专栏寻找另一个名字。
更好的解决方案应该是永远不要使用when字,即使引用。 – 2009-11-30 17:35:57
+1,但转义关键字可能比它的价值更麻烦。 – 2009-11-30 17:36:33
一般而言,引用标识符没有任何问题。唯一的实际问题是,对于MySQL,您必须使用反引号字符,而适当的ANSI SQL方法是在“DATETIME”时使用双引号。 MySQL可以配置为符合标准,但默认情况下不符合标准。 – bobince 2009-11-30 18:11:40
,如果你使用的时候只需用前缀的列名_那么热衷。
你确定这不是DBMS特有的吗? – 2009-11-30 17:43:08
我相信它可以在MySQL 5.x中使用。您可以使用_when字段名称选择,插入,删除,更新等。 – Kalpak 2009-12-01 08:05:24
顺便说一下,使用行名称,表格等的保留名称不是一个好主意。
- 1. 这个create table语句有什么问题?
- 2. 这个create table语句有什么问题
- 3. MySQL:这个CREATE PROCEDURE语句有什么问题?
- 4. 什么关键字限制条件做这个CREATE TABLE语句
- 5. 为什么这个MySQL Create Table语句失败?
- 6. 这个SQL Create Table Statement有什么问题?
- 7. 为什么CREATE TABLE语句失败?
- 8. 这个ruby语句有什么问题?
- 9. 这个sql语句有什么问题?
- 10. 这个sql语句有什么问题?
- 11. 这个if语句有什么问题?
- 12. 这个SQLite3语句有什么问题?
- 13. 这个MySQL语句有什么问题?
- 14. 这个PostgreSQL语句有什么问题?
- 15. 这个if语句有什么问题?
- 16. 这个mssql语句有什么问题?
- 17. 这个MySQL'insert'语句有什么问题?
- 18. 这个MySQL语句有什么问题?
- 19. 这个mod_rewrite语句有什么问题?
- 20. 这个setChar语句有什么问题?
- 21. 这个mysql语句有什么问题
- 22. 这个if语句有什么问题
- 23. 这个UPDATE语句有什么问题?
- 24. 哪一个是有效的create table sql语句,为什么?
- 25. SHOW CREATE TABLE语句仅返回create table语句
- 26. 这个Postresql ALTER TABLE有什么问题?
- 27. 这些jquery语句有什么问题?
- 28. 这条sql语句有什么问题
- 29. 这条SQL语句有什么问题?
- 30. 这条件语句有什么问题?
这不是查询。查询是一个以“SELECT”开头的语句。 – 2009-11-30 17:44:41
它也不是DDL。 DDL是语言的定义,而不是其中的语句。 – soulmerge 2009-11-30 19:15:50