0

使用 HeidiSQL db 客户端时,出现large SQL query (4.0 KB), snipped at 2,000 characters错误。任何人都知道为什么会这样,以及我需要在下表中更改什么

请让我知道代码的哪些部分需要更新

-- -----------------------------------------------------
-- Table `warrington_central`.`business`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `warrington_central`.`business` (
  `id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `user_id` BIGINT(20) UNSIGNED NOT NULL ,
  `alias_title` VARCHAR(255) NOT NULL ,
  `primary_category` SMALLINT(5) UNSIGNED NOT NULL ,
  `secondary_category` SMALLINT(5) UNSIGNED NOT NULL ,
  `tertiary_category` SMALLINT(5) UNSIGNED NULL ,
  `title` VARCHAR(255) NOT NULL ,
  `premisis_name` VARCHAR(50) NOT NULL ,
  `address_id` BIGINT(20) UNSIGNED NOT NULL ,
  `geolocation_id` BIGINT(20) UNSIGNED NULL ,
  `logo_path` VARCHAR(100) NOT NULL ,
  `telephone_number` VARCHAR(25) NOT NULL ,
  `mobile` VARCHAR(25) NOT NULL ,
  `fax_no` VARCHAR(25) NOT NULL ,
  `website` VARCHAR(100) NOT NULL ,
  `email` VARCHAR(60) NOT NULL ,
  `opening_times` VARCHAR(5000) NOT NULL ,
  `history_experience` VARCHAR(5000) NOT NULL ,
  `description` TEXT NOT NULL ,
  `no_of_employees` MEDIUMINT(8) UNSIGNED NOT NULL ,
  `date_establised` DATE NULL ,
  `show_google_map` ENUM('0','1') NOT NULL ,
  `show_street_view` ENUM('0','1') NOT NULL ,
  `show_comment` ENUM('0','1') NOT NULL ,
  `add_contact_form` ENUM('0','1') NOT NULL ,
  `viewable_to_members_only` ENUM('0','1') NOT NULL ,
  `link_to_user_profile` ENUM('0','1') NOT NULL ,
  `admin_package_id` TINYINT(1) UNSIGNED NOT NULL ,
  `package_start_date` DATETIME NOT NULL ,
  `package_end_date` DATETIME NULL ,
  `package_comment` VARCHAR(500) NOT NULL ,
  `created_on` DATETIME NOT NULL ,
  `updated_by` BIGINT(20) UNSIGNED NOT NULL ,
  `updated_on` DATETIME NOT NULL ,
  `approved` ENUM('Inprocess','Yes','No') NOT NULL DEFAULT 'Inprocess' ,
  `visible` ENUM('0','1') NOT NULL DEFAULT '0' ,
  `hits` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 ,
  `advertise_to` DATETIME NULL ,
  PRIMARY KEY (`id`) ,
  UNIQUE INDEX `alias_title` (`alias_title` ASC/* large SQL query (4.0 KB), snipped at 2,000 characters */
SHOW WARNINGS;
4

2 回答 2

4

好吧,您也可以转到工具 > 首选项 > 日志记录,并将“SQL 日志中的行”设置设置为另一个值。

但正如@doublesharp 所说,这只是表面上的东西。发送到服务器的查询肯定不会被截断。

于 2016-12-22T14:37:33.983 回答
2

这似乎是 HeidiSQL 的一个功能,实际上并不影响您的查询运行。如果它正在生成错误或警告,您会在关于您的查询被截断为 2,000 个字符的评论之后看到它们。

在此处查看源代码:http ://code.google.com/p/heidisql/source/browse/trunk/source/main.pas?r=4127

prefLogSqlWidth := GetRegValue(REGNAME_LOGSQLWIDTH, DEFAULT_LOGSQLWIDTH);

然后使用此代码生成消息

// Shorten very long messages
Len := Length(Msg);
snip := (prefLogSqlWidth > 0) and (Len > prefLogSqlWidth);
IsSQL := Category in [lcSQL, lcUserFiredSQL];     if snip then begin
  Msg :=
    Copy(Msg, 0, prefLogSqlWidth) +
    '/* large SQL query ('+FormatByteNumber(Len)+'), snipped at ' +
      FormatNumber(prefLogSqlWidth) +
      ' characters */';
  end else if (not snip) and IsSQL then
    Msg := Msg + Delimiter;
  if not IsSQL then
    Msg := '/* ' + Msg + ' */';

似乎您可以在注册表中更改此值(http://code.google.com/p/heidisql/source/browse/trunk/source/const.inc?r=4133)

REGNAME_LOGSQLWIDTH = 'logsqlwidth';
DEFAULT_LOGSQLWIDTH = 2000;

钥匙大概就在这里HKEY_CURRENT_USER\Software\HeidiSQL\Servers

于 2012-09-23T20:03:17.013 回答