エラーのないテーブル行への更新を書き込めないシステムがあります。
クエリの詳細は成功と報告される単純なUPDATEですが、データはデータベーステーブルの行に書き込まれません。Innodb on MariaDBが書き込みに失敗しましたサイレント
私はすべてのSQLの読み込み/書き込みを処理するために使用するオブジェクトを持っています。トランザクションが成功した後のオブジェクトのダンプが含まれています。すぐにデータが正しく保存されているし、この実行後、私はそれがあるディスクへのメモリからのデータのフラッシュのいくつかの並べ替えがあると信じている。私は、スクリプトの実行を停止した場合
[pdo:Gibbon\core\security:private] => Gibbon\core\sqlConnection Object
(
[pdo:protected] => PDO Object
(
)
[success:Gibbon\core\sqlConnection:private] => 1
[querySuccess:Gibbon\core\sqlConnection:private] => 1
[result:Gibbon\core\sqlConnection:private] => PDOStatement Object
(
[queryString] => UPDATE `gibbonPerson`
SET `passwordStrong` = :passwordStrong, `passwordStrongSalt` = :passwordStrongSalt, `password` = :password WHERE `gibbonPersonID` = :gibbonPersonID
)
[data:Gibbon\core\sqlConnection:private] => Array
(
[:passwordStrong] => $2y$12$1EZ30jh/CJ/gNwo/alLLlOW/HbcfxCv7tveZgU5jeJ//y.ayiqto2
[:passwordStrongSalt] =>
[:password] =>
[:gibbonPersonID] => 0000000001
)
[query:Gibbon\core\sqlConnection:private] => UPDATE `gibbonPerson`
SET `passwordStrong` = :passwordStrong, `passwordStrongSalt` = :passwordStrongSalt, `password` = :password WHERE `gibbonPersonID` = :gibbonPersonID
[error:Gibbon\core\sqlConnection:private] =>
[table:Gibbon\core\sqlConnection:private] => gibbonPerson
[identifier:Gibbon\core\sqlConnection:private] => gibbonPersonID
[where:Gibbon\core\sqlConnection:private] =>
[version:Gibbon\core\sqlConnection:private] => 5.5.50-MariaDB
[lastQuery] => UPDATE `gibbonPerson`
SET `passwordStrong` = :passwordStrong, `passwordStrongSalt` = :passwordStrongSalt, `password` = :password WHERE `gibbonPersonID` = :gibbonPersonID
[insert] =>
)
()(死にます)失敗する。
character-set-server = utf8
collation-server = utf8_unicode_ci
default-storage-engine = InnoDB
innodb_change_buffering = all
innodb_buffer_pool_size = 800M
innodb_log_file_size = 256M
innodb_log_buffer_size = 4M
innodb_flush_log_at_trx_commit = 2
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_file_per_table = ON
max_heap_table_size = 64M
query_cache_size = 32M
table_cache = 256
read_buffer_size = 8M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
tmp_table_size = 64M
と私の接続設定は、次のとおりです: サーバーのための私の設定は
private function setSQLMode()
{
$config = new config();
$setting = $config->get('setting');
if (isset($setting['System']['installtype']) && $setting['System']['installtype'] == 'Production')
$this->getConnection()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); // Production
else
$this->getConnection()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Testing and Development
$this->getConnection()->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$this->getConnection()->setAttribute(PDO::ATTR_AUTOCOMMIT, true);
$this->version = $this->getVersion();
if ($this->version > '5.7') //Default for 5.7.x is STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER
$result = $this->getConnection()->prepare("SET SESSION `sql_mode` = ''");
elseif ($this->version > '5.6') // Default for 5.6.x is NO_ENGINE_SUBSTITUTION
$result = $this->getConnection()->prepare("SET SESSION `sql_mode` = ''");
else // Default for < 5.6 is ''
$result = $this->getConnection()->prepare("SET SESSION `sql_mode` = ''");
$result->execute(array());
}
誰もがここで起こっても何についてどのような考えを持っていますか?私は設定を変更して、無音時に他の投稿を読んでデータを書き込めなかった後、迷っています。どんな助けもありがとう! クレイグ
RAMは、仮想マシン上で非常に小さい1Gです...
ショーは、あなたはおそらく、これらに狂ったようにスワップされている小さな1ギガバイト「マシン」については、表
gibbonPerson CREATE TABLE `gibbonPerson` (
`gibbonPersonID` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,
`title` varchar(5) CHARACTER SET utf8 NOT NULL,
`surname` varchar(30) CHARACTER SET utf8 NOT NULL DEFAULT '',
`firstName` varchar(30) CHARACTER SET utf8 NOT NULL DEFAULT '',
`preferredName` varchar(30) CHARACTER SET utf8 NOT NULL DEFAULT '',
`officialName` varchar(150) CHARACTER SET utf8 NOT NULL,
`nameInCharacters` varchar(20) CHARACTER SET utf8 NOT NULL,
`gender` enum('M','F','Other','Unspecified') CHARACTER SET utf8 NOT NULL DEFAULT 'Unspecified',
`username` varchar(20) CHARACTER SET utf8 NOT NULL,
`password` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '',
`passwordStrong` varchar(255) CHARACTER SET utf8 NOT NULL,
`passwordStrongSalt` varchar(255) CHARACTER SET utf8 NOT NULL,
`passwordForceReset` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N' COMMENT 'Force user to reset password on next login.',
`status` enum('Full','Expected','Left','Pending Approval') CHARACTER SET utf8 NOT NULL DEFAULT 'Full',
`canLogin` enum('Y','N') CHARACTER SET utf8 NOT NULL DEFAULT 'Y',
`gibbonRoleIDPrimary` int(3) unsigned zerofill NOT NULL,
`gibbonRoleIDAll` varchar(255) CHARACTER SET utf8 NOT NULL,
`dob` date DEFAULT NULL,
`email` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
`emailAlternate` varchar(50) CHARACTER SET utf8 NOT NULL,
`image_240` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`lastIPAddress` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT '',
`lastTimestamp` timestamp NULL DEFAULT NULL,
`lastFailIPAddress` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
`lastFailTimestamp` timestamp NULL DEFAULT NULL,
`failCount` int(1) DEFAULT '0',
`address1` mediumtext CHARACTER SET utf8 NOT NULL,
`address1District` varchar(255) CHARACTER SET utf8 NOT NULL,
`address1Country` varchar(255) CHARACTER SET utf8 NOT NULL,
`address2` mediumtext CHARACTER SET utf8 NOT NULL,
`address2District` varchar(255) CHARACTER SET utf8 NOT NULL,
`address2Country` varchar(255) CHARACTER SET utf8 NOT NULL,
`phone1Type` enum('','Mobile','Home','Work','Fax','Pager','Other') CHARACTER SET utf8 NOT NULL DEFAULT '',
`phone1CountryCode` varchar(7) CHARACTER SET utf8 NOT NULL,
`phone1` varchar(20) CHARACTER SET utf8 NOT NULL,
`phone3Type` enum('','Mobile','Home','Work','Fax','Pager','Other') CHARACTER SET utf8 NOT NULL DEFAULT '',
`phone3CountryCode` varchar(7) CHARACTER SET utf8 NOT NULL,
`phone3` varchar(20) CHARACTER SET utf8 NOT NULL,
`phone2Type` enum('','Mobile','Home','Work','Fax','Pager','Other') CHARACTER SET utf8 NOT NULL DEFAULT '',
`phone2CountryCode` varchar(7) CHARACTER SET utf8 NOT NULL,
`phone2` varchar(20) CHARACTER SET utf8 NOT NULL,
`phone4Type` enum('','Mobile','Home','Work','Fax','Pager','Other') CHARACTER SET utf8 NOT NULL DEFAULT '',
`phone4CountryCode` varchar(7) CHARACTER SET utf8 NOT NULL,
`phone4` varchar(20) CHARACTER SET utf8 NOT NULL,
`website` varchar(255) CHARACTER SET utf8 NOT NULL,
`languageFirst` varchar(30) CHARACTER SET utf8 NOT NULL,
`languageSecond` varchar(30) CHARACTER SET utf8 NOT NULL,
`languageThird` varchar(30) CHARACTER SET utf8 NOT NULL,
`countryOfBirth` varchar(30) CHARACTER SET utf8 NOT NULL,
`ethnicity` varchar(255) CHARACTER SET utf8 NOT NULL,
`citizenship1` varchar(255) CHARACTER SET utf8 NOT NULL,
`citizenship1Passport` varchar(30) CHARACTER SET utf8 NOT NULL,
`citizenship1PassportScan` varchar(255) CHARACTER SET utf8 NOT NULL,
`citizenship2` varchar(255) CHARACTER SET utf8 NOT NULL,
`citizenship2Passport` varchar(30) CHARACTER SET utf8 NOT NULL,
`religion` varchar(30) CHARACTER SET utf8 NOT NULL,
`nationalIDCardNumber` varchar(30) CHARACTER SET utf8 NOT NULL,
`nationalIDCardScan` varchar(255) CHARACTER SET utf8 NOT NULL,
`residencyStatus` varchar(255) CHARACTER SET utf8 NOT NULL,
`visaExpiryDate` date DEFAULT NULL,
`profession` varchar(30) CHARACTER SET utf8 NOT NULL,
`employer` varchar(30) CHARACTER SET utf8 NOT NULL,
`jobTitle` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency1Name` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency1Number1` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency1Number2` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency1Relationship` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency2Name` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency2Number1` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency2Number2` varchar(30) CHARACTER SET utf8 NOT NULL,
`emergency2Relationship` varchar(30) CHARACTER SET utf8 NOT NULL,
`gibbonHouseID` int(3) unsigned zerofill DEFAULT NULL,
`studentID` varchar(10) CHARACTER SET utf8 NOT NULL,
`dateStart` date DEFAULT NULL,
`dateEnd` date DEFAULT NULL,
`gibbonSchoolYearIDClassOf` int(3) unsigned zerofill DEFAULT NULL,
`lastSchool` varchar(100) CHARACTER SET utf8 NOT NULL,
`nextSchool` varchar(100) CHARACTER SET utf8 NOT NULL,
`departureReason` varchar(50) CHARACTER SET utf8 NOT NULL,
`transport` varchar(255) CHARACTER SET utf8 NOT NULL,
`transportNotes` text CHARACTER SET utf8 NOT NULL,
`calendarFeedPersonal` text CHARACTER SET utf8 NOT NULL,
`viewCalendarSchool` enum('Y','N') CHARACTER SET utf8 NOT NULL DEFAULT 'Y',
`viewCalendarPersonal` enum('Y','N') CHARACTER SET utf8 NOT NULL DEFAULT 'Y',
`viewCalendarSpaceBooking` enum('Y','N') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`gibbonApplicationFormID` int(12) unsigned zerofill DEFAULT NULL,
`lockerNumber` varchar(20) CHARACTER SET utf8 NOT NULL,
`vehicleRegistration` varchar(20) CHARACTER SET utf8 NOT NULL,
`personalBackground` varchar(255) CHARACTER SET utf8 NOT NULL,
`messengerLastBubble` date DEFAULT NULL,
`privacy` text CHARACTER SET utf8,
`dayType` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'Student day type, as specified in the application form.',
`gibbonThemeIDPersonal` int(4) unsigned zerofill DEFAULT NULL,
`gibboni18nIDPersonal` int(4) unsigned zerofill DEFAULT NULL,
`studentAgreements` text CHARACTER SET utf8,
`googleAPIRefreshToken` varchar(255) CHARACTER SET utf8 NOT NULL,
`receiveNotificationEmails` enum('Y','N') CHARACTER SET utf8 NOT NULL DEFAULT 'Y',
`fields` text CHARACTER SET utf8 NOT NULL COMMENT 'Serialised array of custom field values',
PRIMARY KEY (`gibbonPersonID`),
UNIQUE KEY `username` (`username`),
KEY `username_2` (`username`,`email`)
) ENGINE=InnoDB AUTO_INCREMENT=1817 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
マシンのRAM容量はどれくらいですか? (あなたのmy.cnfを探しています) –
BEGIN ... COMMITを使っていますか? UPDATEを見てみましょう。そして 'SHOW CREATE TABLE'。 –
私はあなたの答えリックで質問を編集します。これを見てくれてありがとう。クレイグ –