Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Ключові слова і назви полів в SQL

with 2 comments

Припустимо ви створити красиву базу даних, і робите до неї запит. Запит відповідає всім вимогам синтаксису SQL, але в результаті ви все одно отримуєте помилку.
Наприклад після запиту:

UPDATE lections SET number='2', course='1', group='1', lector='1', 
room='6', day='3' WHERE ID=23 LIMIT 1;

ми отримуємо таке повідомлення:
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 'group='1', lector='1', room='6', day='3' WHERE ID=23 LIMIT 1' at line 1

В чому проблема?
Мова запитів містить оператор (чи як це назвати) GROUP BY, і тому вашій СУБД важко розібратися що ви мали на увазі. Тому є два рішення:

Перше: Не називайте свої таблиці і їх поля ключовими словами з SQL.

Але може вам подобається назва поля, або ви вже написали дуже багато коду, де вона використовується. Тому вам краще підійде …

Друге рішення: виділити назву поля як ідентифікатор символами наголосу ASCII 96 "`" ` - grave accent.

Такий запит працює нормально:

UPDATE lections SET number='2', course='1', `group`='1', 
		lector='1', room='6', day='3' WHERE ID=23 LIMIT 1
Advertisements

Written by bunyk

Березень 6, 2009 at 03:08

Оприлюднено в Кодерство, Павутина

Tagged with

Відповідей: 2

Subscribe to comments with RSS.

  1. Допиши вже, що це правило хорошого тону записувати всі назви полів і таблиць в таких апострофах
    UPDATE `lections` SET `number`=2, `course`=1, `group`=1,
    `lector`=1, `room`=6, `day`=3 WHERE ID=23 LIMIT 1

    danbst4

    Березень 10, 2009 at 12:29

  2. Ще б знати де він на клавіатурі.

    bunyk

    Березень 11, 2009 at 23:26


Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: