PDA

Просмотр полной версии : Вопрос по синтаксису INSERT в MySQL


Digimortal
14.11.2006, 00:53
У меня тут вопросик появился насчет оператора INSERT в MySQL.
В документации по MySQL синтаксис вот такой:
INSERT INTO tbl_name (aaa, bbb) VALUES(15,20);
Но вот среди дампов БД мне встретился и такой вариант:
INSERT INTO `tbl_name`(`aaa`, `bbb`) VALUES ('12', '16');
Разница, как видно, в кавычках, обрамляющих имя таблицы и имена полей, и в расстановке побелов.
Подскажите, почему так? Различие версий, или еще что?

Algol
14.11.2006, 00:58
Эти записи эквивалентны. Названия полей можно обрамлять кавычками, а можно - нет

guest3297
14.11.2006, 01:24
Да кавычки могут быть как одинарными так иобратными данный синтаксис применяем везде в select update и так далее.

Digimortal
14.11.2006, 01:25
ок, спасибо за ответы.

SMiX
14.11.2006, 10:09
Советую поля всегда обрамлять в `такие кавычки`, а строки в '' или "".

[hidden]
14.11.2006, 21:17
Ну вообще по стандарту значения типа INTEGER не должны обрамляться кавычками, поэтому в примере они и не того..
Названия полей стоит обрамлять обратными апострофами - по крайней мере у меня в самом начале изучения PHP с MySQL тестовый скрипт не заработал именно из-за того, что названия полей были без обрамления - с тех пор я их везде ставлю..

_Great_
14.11.2006, 23:05
я всегда пишу в виде
select `field` from `table` where `field2`='string'

Дикс
15.11.2006, 21:02
и в расстановке побелов.
пробелы равно как и переводы строки в скрипте абсолютно ничего не значат