К основному контенту

Сообщения

Показаны сообщения с ярлыком "mysql"

Исправление системных таблиц mysql

Что делать, если вдруг возникла "непонятная" ошибка в mysql. В частности, phpmyadmin сыплет ошибку при входе, консольный клиент тоже выдаёт нечто непонятное? Что-то вроде: #1682 - Native table 'performance_schema'.'session_variables' has the wrong structure или Table 'performance_schema.session_variables' doesn't exist В консоли, непременно от root'а нужно просто запусить mysql_upgrade -p после чего перезапустить mysql. Что-то вроде  service mysql restart После этого ошибки исчезнут.

Сравнение дат в MySQL

Поскольку пишу сейчас программу для библиотеки, пришлось создать такой вот запрос: select (select date_format((current_date),'%m'))-(select date_format((select birthday from users where id = 1),'%m'))+(select date_format((current_date),'%d'))-(select date_format((select birthday from users where id = 1),'%d')); Он нужен для того, чтобы понять, День Рождения сегодня у человека, или нет. С тем же успехом можно использовать его и в других случаях. Думаю, что для человека знающего MySQL пояснения не нужны. Но если что, то пишите. Ну, и если я не прав, используя такой запрос, то предложите лучший.

Базостроение

Как говорится, я просто оставлю это здесь. CREATE TABLE ALLITEMS ( itemid INT ( 10 ) UNSIGNED , itemname VARCHAR ( 50 ) ); ALTER TABLE ALLITEMS CHANGE itemid itemid INT ( 10 ) AUTO_INCREMENT PRIMARY KEY ; DESC ALLITEMS ; INSERT INTO ALLITEMS ( itemname ) VALUES ( 'Apple' ), ( 'Orange' ), ( 'Banana' ); SELECT * FROM ALLITEMS ; I was confused with CHANGE and MODIFY keywords before too : ALTER TABLE ALLITEMS CHANGE itemid itemid INT ( 10 ) AUTO_INCREMENT PRIMARY KEY ; ALTER TABLE ALLITEMS MODIFY itemid INT ( 5 ); While we are there, also note that AUTO_INCREMENT can also start with a predefined number : ALTER TABLE tbl AUTO_INCREMENT = 100; Взято с  http://stackoverflow.com/questions/6957370/alter-table-adding-autoincrement-in-mysql