代码之家  ›  专栏  ›  技术社区  ›  Nathan

这个CREATETABLE语句有什么问题?

  •  2
  • Nathan  · 技术社区  · 15 年前
    CREATE TABLE findings (
      ident VARCHAR(28), 
      code VARCHAR(8), 
      when DATETIME, 
      ip VARCHAR(15)
    );
    
    4 回复  |  直到 15 年前
        1
  •  9
  •   soulmerge    15 年前

    when 是一个 keyword in mysql 并且需要用反勾号引用:

    CREATE TABLE `findings` (
        `ident` VARCHAR(28),
        `code` VARCHAR(8),
        `when` DATETIME,
        `ip` VARCHAR(15)
    );
    

    编辑: 评论中正确地指出,这不是一个好的解决办法。你最好为你的专栏另找一个名字。

        2
  •  6
  •   Kico Lobo    15 年前

    单词when。

    在某些数据库中,这是一个关键字。因此,在处理CREATETABLE指令时,数据库管理系统可能会出现一些错误。

        3
  •  1
  •   Kalpak    15 年前

    如果您非常喜欢使用when,只需在列名前面加上u。

        4
  •  1
  •   mRt    15 年前

    顺便说一句,对行名称、表等使用保留名称不是一个好主意。