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

Sql查询不工作!

  •  0
  • Steve  · 技术社区  · 17 年前
    INSERT INTO `test` (`x`, `y`)  WHERE `id` = `$id`
    
    VALUES (`$x`, `$y`)
    

    这个问题有什么不对?我是在一个 mysql_query() 函数在php文件中。

    6 回复  |  直到 17 年前
        1
  •  6
  •   Thomas Jones-Low    17 年前

    不能将Where子句与insert一起使用。要么插入一行,要么不插入。

        2
  •  4
  •   James    17 年前

    如果试图更新数据库中的信息,请在正在运行的查询中使用update而不是INSERT-in。

        3
  •  2
  •   Andy White    17 年前

    不能在insert中使用where子句。我想你可能想要一个更新声明:

    update test set
    x = $x,
    y = $y
    where id = $id
    

    在数据库中插入新值时,通常在插入之后才有ID值(假设使用的是自动生成的ID)。

        4
  •  0
  •   Jarod Elliott    17 年前

    您需要删除“WHERE id=$id”——它在INSERT语句中没有任何意义。

        5
  •  0
  •   Mark Unwin    17 年前

    所以

    更新测试集x='x',y='$y',其中id='$id';

    或

    在测试中插入('x','y')值('x','y');

    正如其他帖子所说,你不能用WHERE插入。

        6
  •  0
  •   jedihawk    17 年前

    还请注意,对于值,必须使用单引号('),而不是反勾(`)。引用列名/字段名时使用反勾号。

    这是:

    `field` = '$value'
    

    而不是这个:

    `field` = `$value`
    

    除非你真的想引用另一个领域。这有时是复制值或匹配联接等操作时需要的。但因为这里有一个变量,所以我假设您希望使用单引号而不是反勾号。

    推荐文章