Починил систему подсчета количества прочтений постов на блоге

Март 23, 2009

Сегодня спонтанно решил занятся своим сайтом, до которого никак не доходили руки. Заметил, что в колонке справа, где показываются наиболее популярные посты уже у нескольких постов все время стоит ноль просмотров. Такого не может быть, поскольку счетчик Liveinternet'а исправно показывает не менее сотни посетителей в сутки.

Все дело оказалось в зарезервированных словах MySQL. Оказывается, пока мой хостинг использовал более старую версию баз данных MySQL то конструкции с именами полей типа reads отлично работали без кавычек. Но с обновлением на более позднюю версию пятого мускуля начались проблемы с зарезервированными словами, котоыре не взяты в кавычки. Далее Вы можете увидеть зарезервированные слова MySQL, которые используются синтаксическим анализатором yacc:

Word Word Word
ADD ALL ALTER
ANALYZE AND AS
ASC ASENSITIVE BEFORE
BETWEEN BIGINT BINARY
BLOB BOTH BY
CALL CASCADE CASE
CHANGE CHAR CHARACTER
CHECK COLLATE COLUMN
CONDITION CONNECTION CONSTRAINT
CONTINUE CONVERT CREATE
CROSS CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP CURRENT_USER CURSOR
DATABASE DATABASES DAY_HOUR
DAY_MICROSECOND DAY_MINUTE DAY_SECOND
DEC DECIMAL DECLARE
DEFAULT DELAYED DELETE
DESC DESCRIBE DETERMINISTIC
DISTINCT DISTINCTROW DIV
DOUBLE DROP DUAL
EACH ELSE ELSEIF
ENCLOSED ESCAPED EXISTS
EXIT EXPLAIN FALSE
FETCH FLOAT FOR
FORCE FOREIGN FROM
FULLTEXT GOTO GRANT
GROUP HAVING HIGH_PRIORITY
HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND
IF IGNORE IN
INDEX INFILE INNER
INOUT INSENSITIVE INSERT
INT INTEGER INTERVAL
INTO IS ITERATE
JOIN KEY KEYS
KILL LEADING LEAVE
LEFT LIKE LIMIT
LINES LOAD LOCALTIME
LOCALTIMESTAMP LOCK LONG
LONGBLOB LONGTEXT LOOP
LOW_PRIORITY MATCH MEDIUMBLOB
MEDIUMINT MEDIUMTEXT MIDDLEINT
MINUTE_MICROSECOND MINUTE_SECOND MOD
MODIFIES NATURAL NOT
NO_WRITE_TO_BINLOG NULL NUMERIC
ON OPTIMIZE OPTION
OPTIONALLY OR ORDER
OUT OUTER OUTFILE
PRECISION PRIMARY PROCEDURE
PURGE READ READS
REAL REFERENCES REGEXP
RENAME REPEAT REPLACE
REQUIRE RESTRICT RETURN
REVOKE RIGHT RLIKE
SCHEMA SCHEMAS SECOND_MICROSECOND
SELECT SENSITIVE SEPARATOR
SET SHOW SMALLINT
SONAME SPATIAL SPECIFIC
SQL SQLEXCEPTION SQLSTATE
SQLWARNING SQL_BIG_RESULT SQL_CALC_FOUND_ROWS
SQL_SMALL_RESULT SSL STARTING
STRAIGHT_JOIN TABLE TERMINATED
THEN TINYBLOB TINYINT
TINYTEXT TO TRAILING
TRIGGER TRUE UNDO
UNION UNIQUE UNLOCK
UNSIGNED UPDATE USAGE
USE USING UTC_DATE
UTC_TIME UTC_TIMESTAMP VALUES
VARBINARY VARCHAR VARCHARACTER
VARYING WHEN WHERE
WHILE WITH WRITE
XOR YEAR_MONTH ZEROFILL

В принципе, все эти слова можно использовать в качестве назхвания столбцов или таблиц для Ваших баз, однако я бы порекомендовал этого не делать, или использовать эти слова с какими либо префиксами или окончаниями, которые будут определять их принадлежность к Вашим разработкам базы, а не к списку зарезервированных слов MySQL.


Автор:



Добавить свой комментарий » | Просмотров: 1729 | Рекомендаций у статьи 0. рекомендовать

Постоянная ссылка на статью: http://alexusblog.com/post/Repaired-system-reads-the-number-of-posts-on-the-blog.html


Следующая статья: Принцип работы СВЧ печи (микроволновки)
Предыдущая статья: Скандинавский аукцион: лохотрон или есть стратегии выиграша?
Все статьи в разделе оглавление

AlexusBlog.com

Поиск по сайту:
 
  регистрация : о блоге : на главную