Рейтинг темы:
  • 1 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Полезные sql запросы
#51
Это штамп времени. В любом языке программирования есть функции, которые возвращают не дату, а штамп. Это очень удобно, т.к. позволяет работать с датой, как с числом или строкой и сравнивать её без больших усилий.
lastActive - время, когда аккаунт в последний раз был использован. Если вам надо удалить аккаунты, которые не использовались в течении некоторого промежутка времени (скажем, пол года), то используйте функцию NOW(), и отнимайте определенное кол-во времени. Если же надо просто удалить аккаунты, которые не использовались до какого-то времени, то вычислите timestamp этой даты и подставьте в запрос. Не забывайте, что очень многое зависит от формата данных и типа поля timestamp в MySQL, разные размеры поля соответствуют разным форматам дат. К примеру, timestamp(14) - YYYY.MM.DD HH:MM:SS, а timestamp(2) - YY.
[source=sql]
DELETE FROM `account` WHERE `lastActive` < (NOW() - T); -- T - временной параметр, разность, которая вам необходима
DELETE FROM `account` WHERE `lastActive` < T; -- T - временной параметр
[/source]
И не надейтесь, что эти запросы рабочие, просто показал идею и принцип работы со временем в MySQL, да и не помешало бы почитать об этом мануалы, коих полным полно Wink
Ответ
#52
А есть запрос чтобы добавить всем мобам в дроп определенную монету допустим кол. 10 штук с каждого. м?
Ответ
#53
Дамы и господа, уважаемые форумчане Smile

Помогите с решением проблемы...

У меня сервак Грация Финал...

Всё нормально, но траблы с некоторыми SQL запросами...


081102-0461.sql
пишет ошибку:
[Err] 1060 - Duplicate column name 'logoutTime'
[Err] ALTER TABLE characters ADD logoutTime int(11) unsigned NOT NULL DEFAULT 0;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

У него в коде написанно:

ALTER TABLE characters ADD logoutTime int(11) unsigned NOT NULL DEFAULT 0;
ALTER TABLE characters ADD vitPoints int NOT NULL DEFAULT 100000;

081128-0642.sql
Ошибка:

[Err] 1060 - Duplicate column name 'location'
[Err] ALTER TABLE `forts` ADD `location` VARCHAR( 25 ) NOT NULL AFTER `name` ;
[Msg] Finished - Unsuccessfully
-------------------------------------------------

в коде:

ALTER TABLE `forts` ADD `location` VARCHAR( 25 ) NOT NULL AFTER `name` ;

UPDATE `forts` SET `location` = 'Shanty' WHERE `id` = '101';
UPDATE `forts` SET `location` = 'Southern' WHERE `id` = '102';
UPDATE `forts` SET `location` = 'Hive' WHERE `id` = '103';
UPDATE `forts` SET `location` = 'Valley' WHERE `id` = '104';
UPDATE `forts` SET `location` = 'Ivory' WHERE `id` = '105';
UPDATE `forts` SET `location` = 'Narsell' WHERE `id` = '106';
UPDATE `forts` SET `location` = 'Basin' WHERE `id` = '107';
UPDATE `forts` SET `location` = 'WhiteSands' WHERE `id` = '108';
UPDATE `forts` SET `location` = 'Borderland' WHERE `id` = '109';
UPDATE `forts` SET `location` = 'Swamp' WHERE `id` = '110';
UPDATE `forts` SET `location` = 'Archaic' WHERE `id` = '111';
UPDATE `forts` SET `location` = 'Floran' WHERE `id` = '112';
UPDATE `forts` SET `location` = 'CloudMountain' WHERE `id` = '113';
UPDATE `forts` SET `location` = 'Tanor' WHERE `id` = '114';
UPDATE `forts` SET `location` = 'Dragonspine' WHERE `id` = '115';
UPDATE `forts` SET `location` = 'Antharas' WHERE `id` = '116';
UPDATE `forts` SET `location` = 'Western' WHERE `id` = '117';
UPDATE `forts` SET `location` = 'Hunters' WHERE `id` = '118';
UPDATE `forts` SET `location` = 'Aaru' WHERE `id` = '119';
UPDATE `forts` SET `location` = 'Demon' WHERE `id` = '120';
UPDATE `forts` SET `location` = 'Monastic' WHERE `id` = '121';


081208-0598.sql
[Err] 1060 - Duplicate column name 'siegeDate'
[Err] ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';
081208-0598.sql

[Err] 1060 - Duplicate column name 'siegeDate'
[Err] ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';


081226-0693.sql

[Err] 1060 - Duplicate column name 'paid'
[Err] ALTER table `clanhall` ADD `paid` int( 1 ) NOT NULL default '0';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

ALTER table `clanhall` ADD `paid` int( 1 ) NOT NULL default '0';
UPDATE `clanhall` SET `paid`=1 WHERE `ownerId`>0 AND `lease`>0 AND `paidUntil`>(select UNIX_TIMESTAMP());




090213-0876.sql

[Err] 1060 - Duplicate column name 'siegetype'
[Err] ALTER TABLE `clanhall` add `siegetype` varchar(15) NOT NULL default '';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
ALTER TABLE `clanhall` add `siegetype` varchar(15) NOT NULL default '';
Update `clanhall` set `siegetype`='Auction' where `price` > 0;
Update `clanhall` set `siegetype`='FORSiege' where `id` = 21;
Update `clanhall` set `siegetype`='DCSiege' where `id` = 34;
Update `clanhall` set `siegetype`='RolePlaySiege' where `id` = 35;
Update `clanhall` set `siegetype`='RolePlaySiege' where `id` = 62;
Update `clanhall` set `siegetype`='RolePlaySiege' where `id` = 63;
Update `clanhall` set `siegetype`='FOTDSiege' where `id` = 64;


090221-0921.sql

[Err] 1050 - Table 'chsiegesettings' already exists
[Err] CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=InnoDB;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=MyISAM;


090227-0976.sql

[Err] 1060 - Duplicate column name 'honnor'
[Err] ALTER TABLE `characters` ADD `honnor` INT NOT NULL default 0;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

ALTER TABLE `characters` ADD `honnor` INT NOT NULL default 0;



090228-0997.sql
[Err] 1060 - Duplicate column name 'loc'
[Err] ALTER TABLE `items_delayed` ADD `loc` INT NOT NULL DEFAULT '0' AFTER `flags`;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

ALTER TABLE `items_delayed` ADD `loc` INT NOT NULL DEFAULT '0' AFTER `flags`;


090323-1165.sql
[Err] 1051 - Unknown table 'pet_data'
[Err] DROP TABLE `pet_data`;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

DROP TABLE `pet_data`;

090606-testl2p.sql

[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] UPDATE items SET flags = flags-2 WHERE id= 9606;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
UPDATE items SET flags = flags-2 WHERE id= 9606;



090821-1994.sql
[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] update items set flags=flags|2|4|8 where id=13002;
[Msg] Finished - Unsuccessfully

в коде:
update items set flags=flags|2|4|8 where id=13002;



Всем кто сможет помочь разабраться с проблемами, заранее ОГРОМНОЕ человеческое спасибо!
Ответ
#54
DrSet Написал:Дамы и господа, уважаемые форумчане Smile

Помогите с решением проблемы...

У меня сервак Грация Финал...

Всё нормально, но траблы с некоторыми SQL запросами...


081102-0461.sql
пишет ошибку:
[Err] 1060 - Duplicate column name 'logoutTime'
[Err] ALTER TABLE characters ADD logoutTime int(11) unsigned NOT NULL DEFAULT 0;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

У него в коде написанно:

ALTER TABLE characters ADD logoutTime int(11) unsigned NOT NULL DEFAULT 0;
ALTER TABLE characters ADD vitPoints int NOT NULL DEFAULT 100000;

081128-0642.sql
Ошибка:

[Err] 1060 - Duplicate column name 'location'
[Err] ALTER TABLE `forts` ADD `location` VARCHAR( 25 ) NOT NULL AFTER `name` ;
[Msg] Finished - Unsuccessfully
-------------------------------------------------

в коде:

ALTER TABLE `forts` ADD `location` VARCHAR( 25 ) NOT NULL AFTER `name` ;

UPDATE `forts` SET `location` = 'Shanty' WHERE `id` = '101';
UPDATE `forts` SET `location` = 'Southern' WHERE `id` = '102';
UPDATE `forts` SET `location` = 'Hive' WHERE `id` = '103';
UPDATE `forts` SET `location` = 'Valley' WHERE `id` = '104';
UPDATE `forts` SET `location` = 'Ivory' WHERE `id` = '105';
UPDATE `forts` SET `location` = 'Narsell' WHERE `id` = '106';
UPDATE `forts` SET `location` = 'Basin' WHERE `id` = '107';
UPDATE `forts` SET `location` = 'WhiteSands' WHERE `id` = '108';
UPDATE `forts` SET `location` = 'Borderland' WHERE `id` = '109';
UPDATE `forts` SET `location` = 'Swamp' WHERE `id` = '110';
UPDATE `forts` SET `location` = 'Archaic' WHERE `id` = '111';
UPDATE `forts` SET `location` = 'Floran' WHERE `id` = '112';
UPDATE `forts` SET `location` = 'CloudMountain' WHERE `id` = '113';
UPDATE `forts` SET `location` = 'Tanor' WHERE `id` = '114';
UPDATE `forts` SET `location` = 'Dragonspine' WHERE `id` = '115';
UPDATE `forts` SET `location` = 'Antharas' WHERE `id` = '116';
UPDATE `forts` SET `location` = 'Western' WHERE `id` = '117';
UPDATE `forts` SET `location` = 'Hunters' WHERE `id` = '118';
UPDATE `forts` SET `location` = 'Aaru' WHERE `id` = '119';
UPDATE `forts` SET `location` = 'Demon' WHERE `id` = '120';
UPDATE `forts` SET `location` = 'Monastic' WHERE `id` = '121';


081208-0598.sql
[Err] 1060 - Duplicate column name 'siegeDate'
[Err] ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';
081208-0598.sql

[Err] 1060 - Duplicate column name 'siegeDate'
[Err] ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
ALTER TABLE `ch_sieges` ADD `siegeDate` int(11) NOT NULL default '0';


081226-0693.sql

[Err] 1060 - Duplicate column name 'paid'
[Err] ALTER table `clanhall` ADD `paid` int( 1 ) NOT NULL default '0';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

ALTER table `clanhall` ADD `paid` int( 1 ) NOT NULL default '0';
UPDATE `clanhall` SET `paid`=1 WHERE `ownerId`>0 AND `lease`>0 AND `paidUntil`>(select UNIX_TIMESTAMP());




090213-0876.sql

[Err] 1060 - Duplicate column name 'siegetype'
[Err] ALTER TABLE `clanhall` add `siegetype` varchar(15) NOT NULL default '';
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
ALTER TABLE `clanhall` add `siegetype` varchar(15) NOT NULL default '';
Update `clanhall` set `siegetype`='Auction' where `price` > 0;
Update `clanhall` set `siegetype`='FORSiege' where `id` = 21;
Update `clanhall` set `siegetype`='DCSiege' where `id` = 34;
Update `clanhall` set `siegetype`='RolePlaySiege' where `id` = 35;
Update `clanhall` set `siegetype`='RolePlaySiege' where `id` = 62;
Update `clanhall` set `siegetype`='RolePlaySiege' where `id` = 63;
Update `clanhall` set `siegetype`='FOTDSiege' where `id` = 64;


090221-0921.sql

[Err] 1050 - Table 'chsiegesettings' already exists
[Err] CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=MyISAM;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=MyISAM;


090227-0976.sql

[Err] 1060 - Duplicate column name 'honnor'
[Err] ALTER TABLE `characters` ADD `honnor` INT NOT NULL default 0;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

ALTER TABLE `characters` ADD `honnor` INT NOT NULL default 0;



090228-0997.sql
[Err] 1060 - Duplicate column name 'loc'
[Err] ALTER TABLE `items_delayed` ADD `loc` INT NOT NULL DEFAULT '0' AFTER `flags`;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

ALTER TABLE `items_delayed` ADD `loc` INT NOT NULL DEFAULT '0' AFTER `flags`;


090323-1165.sql
[Err] 1051 - Unknown table 'pet_data'
[Err] DROP TABLE `pet_data`;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

DROP TABLE `pet_data`;

090606-testl2p.sql

[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] UPDATE items SET flags = flags-2 WHERE id= 9606;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
UPDATE items SET flags = flags-2 WHERE id= 9606;



090821-1994.sql
[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] update items set flags=flags|2|4|8 where id=13002;
[Msg] Finished - Unsuccessfully

в коде:
update items set flags=flags|2|4|8 where id=13002;



Всем кто сможет помочь разабраться с проблемами, заранее ОГРОМНОЕ человеческое спасибо!

Либо лишняя колонка или на оборот её не хватает. В основном только эти ошибка.
Ответ
#55
Это я понял...
А какие именно?
Ответ
#56
DrSet Написал:Это я понял...
А какие именно?

column "имя_колонки"

Duplicate - дублируется

Unknown - не существующая

Тут пытается при запросе создать колонку loc которая уже есть в таблице items_delayed (для примера)
Код:
ALTER TABLE `items_delayed` ADD `loc` INT NOT NULL DEFAULT '0' AFTER `flags`;
Ответ
#57
Проверил таблицы.
Все которые дублируются, верно, они уже есть.
За это спасибо огромное.

Подскажи пожалуйста, по оставшимся, как их исправить и создать, какая ошибка в коде у этих:

090221-0921.sql

[Err] 1050 - Table 'chsiegesettings' already exists
[Err] CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=MyISAM;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=MyISAM;


090323-1165.sql
[Err] 1051 - Unknown table 'pet_data'
[Err] DROP TABLE `pet_data`;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

DROP TABLE `pet_data`;


090606-testl2p.sql

[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] UPDATE items SET flags = flags-2 WHERE id= 9606;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
UPDATE items SET flags = flags-2 WHERE id= 9606;



090821-1994.sql
[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] update items set flags=flags|2|4|8 where id=13002;
[Msg] Finished - Unsuccessfully

в коде:
update items set flags=flags|2|4|8 where id=13002;
Ответ
#58
DrSet Написал:Проверил таблицы.
Все которые дублируются, верно, они уже есть.
За это спасибо огромное.

Подскажи пожалуйста, по оставшимся, как их исправить и создать, какая ошибка в коде у этих:

090221-0921.sql

[Err] 1050 - Table 'chsiegesettings' already exists
[Err] CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=MyISAM;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

CREATE TABLE `ChSiegeSettings` (
`clanId` INT UNSIGNED NOT NULL DEFAULT 0,
`unitId` VARCHAR(45) DEFAULT NULL,
`memberId` INT UNSIGNED NOT NULL DEFAULT 0,
`npcindex` INT (2) NOT NULL DEFAULT 0,
PRIMARY KEY(`clanId`,`unitId`)
) ENGINE=MyISAM;


090323-1165.sql
[Err] 1051 - Unknown table 'pet_data'
[Err] DROP TABLE `pet_data`;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:

DROP TABLE `pet_data`;


090606-testl2p.sql

[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] UPDATE items SET flags = flags-2 WHERE id= 9606;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
UPDATE items SET flags = flags-2 WHERE id= 9606;



090821-1994.sql
[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] update items set flags=flags|2|4|8 where id=13002;
[Msg] Finished - Unsuccessfully

в коде:
update items set flags=flags|2|4|8 where id=13002;

Таблица уже существует.

Код:
[Err] 1050 - Table 'chsiegesettings' already exists

Не известная таблица (можно дропнуть и залить по новой"

Код:
[Err] 1051 - Unknown table 'pet_data'

Не известный столбец

Код:
[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] 1054 - Unknown column 'id' in 'where clause'
Ответ
#59
Спасибо огромное, разобрался со всеми кроме двух...

090606-testl2p.sql

[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] UPDATE items SET flags = flags-2 WHERE id= 9606;
[Msg] Finished - Unsuccessfully
--------------------------------------------------

в коде:
UPDATE items SET flags = flags-2 WHERE id= 9606;



090821-1994.sql
[Err] 1054 - Unknown column 'id' in 'where clause'
[Err] update items set flags=flags|2|4|8 where id=13002;
[Msg] Finished - Unsuccessfully

в коде:
update items set flags=flags|2|4|8 where id=13002;

Отсутствует колонка, как их добавить и после этого внести этот код?
Ответ
#60
аналогично, [Err] 1054 - Unknown column 'id' - неизвестная колонка id, т.е. не такой в таблице items
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  [PTS] Полезные Sql запросы Cache 0 4,062 01-19-2016, 12:32 PM
Последний пост: Cache

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)