2010-09-30 2 views
1

я обычно нашло три способа использования MYSQL команды вставкиMysql ВСТАВИТЬ Заявление Различие

INSERT INTO `table` (field1, field2, field3) VALUES ('value1', 'value2', 'value3'); 

или

INSERT INTO `table` VALUES ('value1', 'value2', 'value3'); 

или

INSERT INTO `table` SET `field1`='value1', `field2`='value2', `field3`='value3'; 

Есть ли какое-либо различие между этим?

ответ

2

Первые два являются стандартными SQL; третий - нестандартный и специфичный для MySQL, полученный из стандартного синтаксиса для UPDATE.

Разница между двумя первыми состоит в том, что указаны поля, которые вы хотите вставить, что более гибко, потому что вы можете пропустить поля, если вы довольны тем, что они установлены в NULL. Также указание полей означает, что оператор все равно будет работать, если макет таблицы изменится; если вы не укажете поля, которые вы полагаетесь на таблицу, которые никогда не меняются.

0

Только одно отличие, довольно очевидное для меня: второе не позволяет указать свой собственный набор полей для вставки.

1

Вы ищете различия в терминах чего? С точки зрения использования, первый и третий инструкции вставки позволяют вам устанавливать только те столбцы, которые вам нужны, в то время как второй оператор всегда пытается вставить значения во все столбцы в порядке структуры таблицы.

Смежные вопросы