-2

我使用 php 我的管理员,并尝试运行此查询:

INSERT INTO msumat(tempat_lahir) VALUES ('Jakarta') WHERE umat_id != 10

应该找到查询,但我总是从中得到一个错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE umat_id != 10' at line 1

我的错误在哪里?我最近还发现了一些奇怪的事实:

我的计算机中的查询正在使用''报价运行但此查询未在我朋友的计算机中运行,我必须将其更改''为``。它是 phpmyadmin 中的错误吗?感谢:D

4

2 回答 2

4

看起来您混淆了插入和更新。

插入创建新行并始终提供您要插入的值。

更新会改变一组行中的数据。

假设您的意思是这是一个更新:

UPDATE msumat set tempat_lahir = 'Jakarta' where umat_id != 10;
于 2013-03-22T02:05:39.670 回答
2

默认情况下,INSERT语句不能有WHERE子句。

INSERT INTO tableName (column1, ...) VALUES (Value1,...)

INSERT语句可以有子句的唯一时间WHERE是在执行INSERT INTO..SELECT语句时。

INSERT INTO tableName (column1, ...)
SELECT column1, ...
FROM   Table_name2
WHERE  ....

我猜你想修改一个现有的列,你需要使用UPDATE.

UPDATE msumat
SET    tempat_lahir = 'Jakarta'
WHERE  umat_id <> 10

永远记住这一点:

  • INSERT总是用于在表上添加新记录。
  • UPDATE用于修改表中的一条记录。
于 2013-03-22T02:08:46.117 回答