PHP скрипты

MySQL

Apache

phpMyADmin

3.9: Как MySQL работает с зарезервированными словами?

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Как MySQL работает с зарезервированными словами?

Проблемы возникают при попытке создать таблицу с именами столбцов, которые используют имена типов или функций, встроенных в MySQL, подобно TIMESTAMP или GROUP. Вам позволяют делать это (например, ABS - позволенное имя столбца), но пробелы между именем функции и при использовании функций, чьи имена также являются именами столбцов, не допускаются.

Следующие слова, показанные в табл. 3.4, явно зарезервированы в MySQL. Большинство их запрещается ANSI SQL92 для имен таблицы или столбца (например, group). Несколько слов зарезервированы потому, что MySQL нуждается в них:

Таблица 3.4. Зарезервированные слова в MySQL

action add aggregate all
alter after and as
asc avg avg_row_length autojncrement
between bigint bjt binary
blob bool both by
cascade case char character
change check checksum column
columns comment constraint create
cross current_date current_time current_timestamp
data database databases date
datetime day day_hour day_minute
day_second dayofmonth dayofweek dayofyear
dec decimal default delayed
delay_key_write delete desc describe
distinct distinctrow double drop
end else escape escaped
enclosed enum explain exists
fields file first float
float4 float8 flush foreign
from for full function
global grant grants group
having heap high_priority hour
hour_minute hour_second hosts identified
ignore in index infile
inner insert insert_id int
integer interval int1 int2
int3 int4 int8 into
if is isam join
key keys kill last_insert_id
leading left length like
lines limit load local
lock logs long longblob
longtext low_priority max max_rows
match mediumblob mediumtext mediumint
middleint min_rows minute minute_second
modify month monthname myisam
natural numeric no not
null on optimize option
optionally or order outer
outfile pack_keys partial password
precision primary procedure process
processlist privileges read real
references reload regexp rename
replace restrict returns revoke
rlike row rows second
select set show shutdown
smallint soname sql_big_tables sql_big_selects
sql_low_priority_updates sql_log_off sql_log_update sql_select_limit
sql_small_result sql_big_result sql_warnings straight_join
starting status string table
tables temporary terminated text
then time timestamp tinyblob
tinytext tinyint trailing to
type use using unique
unlock unsigned update usage
values varchar variables varying
varbinary with write when
where year year_month zerofill

Следующие символы (из табл. 3.4) отвергнуты ANSI SQL, но разрешены MySQL как имена столбца или таблицы. Это потому, что некоторые из них очень удобные и естественные и часто использовались в работе:

›ACTION;
›BIT;
›DATE;
›ENUM;
›NO;
›TEXT;
›TIME;
›TIMESTAMP

Поделиться с друзьями