2013-03-22 3 views
-2

Я использую PHP мой админ, и я пытаюсь запустить этот запрос:PHPMyAdmin ошибка SQL простой запрос

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

+0

Что вы пытаетесь сделать на земле ?! –

+1

Инструкция 'INSERT' не имеет предложения WHERE, потому что вы всегда добавляете новую строку. Вы имеете в виду вместо 'UPDATE' существующие строки? –

+4

Для справок в будущем это почти почти ошибка в инструменте, который вы используете, но скорее ошибка в вашем собственном коде :) –

ответ

4

Похоже, вы путаете вставку и обновляете.

Вставки создают новые строки и всегда предоставляют значения, которые вы хотите вставить.

Обновления изменяют данные в наборе строк.

Предполагая, что вы имеете в виду, что это обновление:

UPDATE msumat set tempat_lahir = 'Jakarta' where umat_id != 10; 
+2

Да, им новый для sql. Я думаю, потому что у меня нет значения (NULL) в столбце «tempat_lahir», мне нужно вставить его, а не обновлять. Благодарим за помощь: D –

+1

Подождите 10 минут, система не позволит мне принять ответ сейчас: D –

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 Используется для изменить запись на столе.
+0

Да, спасибо за вашу помощь: D –