mysqli无法创建表

时间:2017-12-19 08:40:27

标签: php mysql mysqli

我的mysql出了问题。它连接到数据库,但它不会创建表。以下是我的代码示例:

pattern: /{path}/{name}-id{id}/
defaults: { _controller: mycontroller:myfunc }
requirements:       
    path: .+
    name: "[a-z0-9-]+"
    id: "[0-9]+"

感谢您的回答,谢谢您的帮助!

3 个答案:

答案 0 :(得分:5)

如果将列定义为键,则MySQL仅允许自动增量列。鉴于该列标记为ID,这意味着您可能希望将其作为主键,请尝试以下操作:

  $sql = "CREATE TABLE IF NOT EXISTS db (
      ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
      NAME VARCHAR(20) NULL
  )";

答案 1 :(得分:1)

因为MySQL查询中存在错误

  CREATE TABLE IF NOT EXISTS db (
      ID INT NOT NULL AUTO_INCREMENT,
      NAME VARCHAR(20) NULL;
  

表定义不正确;只能有一个自动列,必须将其定义为键

修复:

CREATE TABLE IF NOT EXISTS db (
      ID INT NOT NULL AUTO_INCREMENT,
      NAME VARCHAR(20) NULL,
      key idx_ID(ID)
     );

PRIMARY KEY不是强制性的,普通密钥也可以工作。

答案 2 :(得分:1)

请你试试这个。

$ chmod +x gactions

$ ./gactions init