<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.cumuluswiki.org/index.php?action=history&amp;feed=atom&amp;title=MySqlConnect</id>
	<title>MySqlConnect - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.cumuluswiki.org/index.php?action=history&amp;feed=atom&amp;title=MySqlConnect"/>
	<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;action=history"/>
	<updated>2026-05-03T10:37:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10683&amp;oldid=prev</id>
		<title>Sfws: Update for 3.21.1</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10683&amp;oldid=prev"/>
		<updated>2022-09-13T08:23:50Z</updated>

		<summary type="html">&lt;p&gt;Update for 3.21.1&lt;/p&gt;
&lt;a href=&quot;https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;amp;diff=10683&amp;amp;oldid=10652&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Sfws</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10652&amp;oldid=prev</id>
		<title>Sfws: /* Populating missing/incorrect columns in existing rows */ added cross-ref to forum</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10652&amp;oldid=prev"/>
		<updated>2022-08-22T13:18:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Populating missing/incorrect columns in existing rows: &lt;/span&gt; added cross-ref to forum&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:18, 22 August 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 353:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 353:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To update one or more columns in multiple rows, you need to generate a succession of UPDATE queries, keeping the text to send to the database server as short as possible.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To update one or more columns in multiple rows, you need to generate a succession of UPDATE queries, keeping the text to send to the database server as short as possible.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;One way to do this is to open the relevant file using a spreadsheet (e.g. Libre Office has a &quot;calc&quot; option, this is free and available for most operating systems).   Create an extra column after existing columns in the spreadsheet for the &quot;primary key&quot;,  you should be able to generate this from the first one or two columns of the spreadsheet with some manipulation.  Now &quot;Hide&quot; all the columns except those with data that you want to include in the update, and the primary key column.  With some spreadsheet skills you can generate the required SQL in this format:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;One way to do this is to open the relevant file using a spreadsheet (e.g. Libre Office has a &quot;calc&quot; option, this is free and available for most operating systems).   Create an extra column after existing columns in the spreadsheet for the &quot;primary key&quot;,  you should be able to generate this from the first one or two columns of the spreadsheet with some manipulation.  Now &quot;Hide&quot; all the columns except those with data that you want to include in the update, and the primary key column.  With some spreadsheet skills&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; (see https://cumulus.hosiene.co.uk/viewtopic.php?p=165767#p165767)&lt;/ins&gt; you can generate the required SQL in this format:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UPDATE name-of-table SET first-column-name=first-row-and-first-column-value, second-column-name=first-row-and-second-column-value WHERE primary-key-column-name=first-row-primary-key-value;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UPDATE name-of-table SET first-column-name=first-row-and-first-column-value, second-column-name=first-row-and-second-column-value WHERE primary-key-column-name=first-row-primary-key-value;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key cumuluswiki-wiki_:diff:wikidiff2:1.12:old-10651:rev-10652:1.14.1 --&gt;
&lt;/table&gt;</summary>
		<author><name>Sfws</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10651&amp;oldid=prev</id>
		<title>Sfws: /* Populating missing/incorrect columns in existing rows */ typo</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10651&amp;oldid=prev"/>
		<updated>2022-08-22T11:39:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Populating missing/incorrect columns in existing rows: &lt;/span&gt; typo&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:39, 22 August 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 345:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 345:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The only way to populate &#039;&#039;&#039;realtime&#039;&#039;&#039; is via the action described in settings page description above.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The only way to populate &#039;&#039;&#039;realtime&#039;&#039;&#039; is via the action described in settings page description above.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==Populating missing/incorrect columns in existing rows&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Populating missing/incorrect columns in existing rows==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The options provided in the &#039;&#039;Data logs&#039;&#039; menu of the interface can be used to edit a single line of a file, and there is a setting that lets that edit also update the corresponding single row of a default table.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The options provided in the &#039;&#039;Data logs&#039;&#039; menu of the interface can be used to edit a single line of a file, and there is a setting that lets that edit also update the corresponding single row of a default table.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key cumuluswiki-wiki_:diff:wikidiff2:1.12:old-10650:rev-10651:1.14.1 --&gt;
&lt;/table&gt;</summary>
		<author><name>Sfws</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10650&amp;oldid=prev</id>
		<title>Sfws: new section at end</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10650&amp;oldid=prev"/>
		<updated>2022-08-22T11:38:57Z</updated>

		<summary type="html">&lt;p&gt;new section at end&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:38, 22 August 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 310:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 310:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Tick (value shown as 1 in Cumulus.ini) &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Tick (value shown as 1 in Cumulus.ini) &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Don&#039;t tick (value shown as 0 in Cumulus.ini)&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Don&#039;t tick (value shown as 0 in Cumulus.ini)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Please see &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;begining&lt;/del&gt; of previous table for explanation and warning about how all defaults must be set for this to work&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Please see &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;beginning&lt;/ins&gt; of previous table for explanation and warning about how all defaults must be set for this to work&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| User=&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| User=&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 318:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 318:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Database access user name, that matches with password described earlier&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Database access user name, that matches with password described earlier&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=The MX default database tables=&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Further work is needed here, but this is a quick attempt to include some notes that might help you, written because of the extensive changes in release 3.20.0&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Creation of default tables==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The settings page as described above includes the ability to issue the SQL command to your server to create whichever default table you wish.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You must define how to access your database server, enable the particular table and indicate what the table is to be called first. Then you must click &#039;&#039;&#039;Save settings&#039;&#039;&#039; so all those details are registered before the create command will work.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If a table with that name already exists, or certain other standard errors happen, MX can give you feedback.  MX will also tell you when the SQL has worked, and thetable has been created.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Modifying schema (columns in table)==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some release announcements for MX mention that extra columns have been added to a particular table.  A script may be provided (either in release announcement, or in the &#039;&#039;&#039;MXutils&#039;&#039;&#039;  directory within the download, that you can run to add the extra columns. For example &#039;&#039;&#039;b3089-AlterMySqlTables.sql&#039;&#039;&#039; was provided in the &#039;&#039;&#039;MXutils&#039;&#039;&#039;  directory with build 3089 to add the &#039;&#039;Feels Like temperature&#039;&#039; columns&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In release 3.20.0, &#039;&#039;&#039;v3.20.0-AlterMySqlTables.sql&#039;&#039;&#039; was provided to edit the &quot;dayfile&quot; table and add 3 new columns (cumulative chill hours, highest 24 hour rainfall, and time when highest 24 hour rainfall ended).&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Release 3.20.0 as seen on screenshot above provides buttons (under heading of &#039;&#039;&#039;Update database table&#039;&#039;&#039;) for each of the default tables.  The code here is rather crude, it counts the number of columns currently defined in the table (does not check what names those columns have, nor what properties those columns have) and compares against number of columns that MX can automatically insert/update at that release in that table.  It assumes columns appear in same order as the fields in related file, and modifies the table to add the extra columns in the correct position to match the respective file.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Populating rows that do not exist==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Use the utility described at [[Software#Export_To_MySQL]] for &#039;&#039;&#039;monthly&#039;&#039;&#039; or &#039;&#039;&#039;dayfile&#039;&#039;&#039; tables.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The only way to populate &#039;&#039;&#039;realtime&#039;&#039;&#039; is via the action described in settings page description above.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Populating missing/incorrect columns in existing rows===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The options provided in the &#039;&#039;Data logs&#039;&#039; menu of the interface can be used to edit a single line of a file, and there is a setting that lets that edit also update the corresponding single row of a default table.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Whilst it may not take long to send SQL for a single line update to your database server, it will take a lot of time to select each line in file in turn, and to send the SQL to insert every line to your database server.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To update one or more columns in multiple rows, you need to generate a succession of UPDATE queries, keeping the text to send to the database server as short as possible.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;One way to do this is to open the relevant file using a spreadsheet (e.g. Libre Office has a &quot;calc&quot; option, this is free and available for most operating systems).   Create an extra column after existing columns in the spreadsheet for the &quot;primary key&quot;,  you should be able to generate this from the first one or two columns of the spreadsheet with some manipulation.  Now &quot;Hide&quot; all the columns except those with data that you want to include in the update, and the primary key column.  With some spreadsheet skills you can generate the required SQL in this format:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UPDATE name-of-table SET first-column-name=first-row-and-first-column-value, second-column-name=first-row-and-second-column-value WHERE primary-key-column-name=first-row-primary-key-value;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UPDATE name-of-table SET first-column-name=second-row-and-first-column-value, second-column-name=second-row-and-second-column-value WHERE primary-key-column-name=second-row-primary-key-value;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Alternatively, if you have skills in a script language like PHP Hypertext Preprocessor (PHP) you can write a small script that reads the file within a loop, picks the fields required from the line of the file, and generates the SQL (as above), and after ending loop closes file and sends the SQL to the database server.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key cumuluswiki-wiki_:diff:wikidiff2:1.12:old-10642:rev-10650:1.14.1 --&gt;
&lt;/table&gt;</summary>
		<author><name>Sfws</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10642&amp;oldid=prev</id>
		<title>Sfws: /* The My SQL settings page in interface */  add screenshot</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10642&amp;oldid=prev"/>
		<updated>2022-08-21T11:01:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;The My SQL settings page in interface: &lt;/span&gt;  add screenshot&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:01, 21 August 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=The My SQL settings page in interface=&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=The My SQL settings page in interface=&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MX controls settings for the relational database tables on a page called &quot;MySQL settings&quot; although you may be using &quot;MariaDB&quot;.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MX controls settings for the relational database tables on a page called &quot;MySQL settings&quot; although you may be using &quot;MariaDB&quot;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Here is a screenshot of that page (with all sections closed up) as applicable from release 3.20.0 (build 3202):&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:MySQL settings.png]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Please note, the text included elsewhere on this Wiki page may be for different release.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:WorkInProgressBanner}}&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:WorkInProgressBanner}}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 128:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 132:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* File Section is [MySQL]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* File Section is [MySQL]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* MX page is Settings menu &amp;amp;rarr; MySQL settings&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* MX page is Settings menu &amp;amp;rarr; MySQL settings&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The table below relates to a beta for 3.12.0 (see top of this page), there will have been changes in later MX releases that are not documented&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&quot;wikitable&quot; border=&quot;1&quot;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&quot;wikitable&quot; border=&quot;1&quot;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key cumuluswiki-wiki_:diff:wikidiff2:1.12:old-10629:rev-10642:1.14.1 --&gt;
&lt;/table&gt;</summary>
		<author><name>Sfws</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10629&amp;oldid=prev</id>
		<title>Sfws: Correct categories</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10629&amp;oldid=prev"/>
		<updated>2022-08-20T19:49:01Z</updated>

		<summary type="html">&lt;p&gt;Correct categories&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:49, 20 August 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Introduction= &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Introduction= &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Configuration Files]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Configuration Files&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]][[Category:Cumulus MX&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In May 2015, Steve Loft [https://cumulus.hosiene.co.uk/viewtopic.php?p=138868#p138868 added SQL functionality] to his Cumulus 3 software (MX beta 3.0.0).&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In May 2015, Steve Loft [https://cumulus.hosiene.co.uk/viewtopic.php?p=138868#p138868 added SQL functionality] to his Cumulus 3 software (MX beta 3.0.0).&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key cumuluswiki-wiki_:diff:wikidiff2:1.12:old-10626:rev-10629:1.14.1 --&gt;
&lt;/table&gt;</summary>
		<author><name>Sfws</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10626&amp;oldid=prev</id>
		<title>Sfws: Created page with &quot;=Introduction=   Category:Configuration Files  In May 2015, Steve Loft [https://cumulus.hosiene.co.uk/viewtopic.php?p=138868#p138868 added SQL functionality] to his Cumulu...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MySqlConnect&amp;diff=10626&amp;oldid=prev"/>
		<updated>2022-08-20T18:22:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Introduction=   &lt;a href=&quot;/a/Category:Configuration_Files&quot; title=&quot;Category:Configuration Files&quot;&gt;Category:Configuration Files&lt;/a&gt;  In May 2015, Steve Loft [https://cumulus.hosiene.co.uk/viewtopic.php?p=138868#p138868 added SQL functionality] to his Cumulu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Introduction= &lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration Files]]&lt;br /&gt;
&lt;br /&gt;
In May 2015, Steve Loft [https://cumulus.hosiene.co.uk/viewtopic.php?p=138868#p138868 added SQL functionality] to his Cumulus 3 software (MX beta 3.0.0).&lt;br /&gt;
&lt;br /&gt;
Essentially, MX can &amp;#039;&amp;#039;either&amp;#039;&amp;#039; create and update one, or more, of three tables (by default called &amp;quot;realtime&amp;quot;, &amp;quot;monthly&amp;quot;, and &amp;quot;dayfile&amp;quot;; although these names can be changed by the Cumulus user) where it determines the &amp;#039;&amp;#039;&amp;#039;schema&amp;#039;&amp;#039;&amp;#039; (what columns appear in the database table); &amp;#039;&amp;#039;or&amp;#039;&amp;#039; MX can run SQL (devised by user) against tables (created by user) that can have any &amp;quot;schema&amp;quot; (columns in the table) chosen by user at one, or more, of three intervals (MX calls these &amp;quot;custom seconds&amp;quot;, &amp;quot;custom minutes&amp;quot;, and &amp;quot;custom rollover&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
This Wiki page provides a brief introduction to SQL, and describes the settings that define how this functionality is controlled. &lt;br /&gt;
&lt;br /&gt;
At last update, this Wiki page shows position as at beta build 3135, (missing some changes included in the 3.12.0 release build of 3141).  It is therefore somewhat out of date, in regard to latest MX release, but it is hoped that presenting it as a separate Wiki page will make it more likely that somebody will bring it up to date.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==What is SQL?==&lt;br /&gt;
&lt;br /&gt;
SQL is an abbreviation of &amp;quot;Structured Query Language&amp;quot;, SQL is structured in the sense that keywords have to appear in the correct order, and there are rules about which words are mandatory. SQL is not just for running queries that read database tables, it can create database tables, give and revoke permissions, and do many more maintenance type tasks. SQL is a language in that each variant of SQL has a vocabulary and set of rules that are specific to that database server, although there is a sub-set, that is set by &amp;quot;ANSI&amp;quot;, of words and constructions that all SQL dialects should obey.&lt;br /&gt;
&lt;br /&gt;
==How does MX use SQL?==&lt;br /&gt;
&lt;br /&gt;
MX uses two types of SQL. &lt;br /&gt;
&lt;br /&gt;
MX uses SQL when updating a SQLite database (see [[Cumulusmx.db]] and [[Diary.db]], that type of database stores data in what is known technically as a sequential file. In a sequential file, the data appears as a number of lines that have to be stored in order (by row number).  Because entries can be deleted, not every possible row number has to be present, but new entries are appended at end.  The various fields (or columns) are named, it is possible (but rarely done) to change the order of the columns, rewriting the entire database file. In a retrieval query you can sort ascending/descending on value in any column.  You can select a row by specifying content, but that gets translated into a row number to actually determine the row that is updated.&lt;br /&gt;
&lt;br /&gt;
MX also uses SQL when creating, or updating, a relational database type. The commands issued by &amp;quot;MySqlConnect&amp;quot; software work with two types of relational databases,  MySQL (commercial software by Oracle) and MariaDB (free software from an independent provider).   A relational database also uses the row, column, and field terminology; but there is no control over the order in which rows are stored, there is an order for columns (although you can change the column order), and rows are identified by a unique key (known as &amp;quot;primary key&amp;quot; as a row can contain a secondary key that links to data in another table).  Any retrieval query can specify that what is returned from that query should be sorted in an ascending/descending order of the value(s) in specified column(s).&lt;br /&gt;
&lt;br /&gt;
As mentioned earlier, MX supports (default) tables where it determines the columns in the table , and (custom) tables where the user determines the columns.  For the default tables, every MySqlConnect command issued by MX specifies column names, so those columns must be present in the table, but can be in any order.  (If the user adds extra columns, those extra columns must be defined with null as default value, so MX can ignore them).  Some MX releases add columns that were not present in earlier MX releases, and these releases should provide a utility that will add the extra columns to existing tables.&lt;br /&gt;
&lt;br /&gt;
===How does MX use MySqlConnect?===&lt;br /&gt;
&lt;br /&gt;
MySqlConnect is used by both [[Software#Current_Release|CumulusMX.exe]] and [[Software#Export_To_MySQL|ExportToMySQL.exe]], but the latter only works with two of the default tables (those called &amp;quot;monthly&amp;quot; and &amp;quot;dayfile&amp;quot;, or as renamed by the user).&lt;br /&gt;
&lt;br /&gt;
Both &amp;quot;CumulusMX.exe&amp;quot; and &amp;quot;ExportToMySQL.exe&amp;quot; make use of the following settings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width:30px&amp;quot; | Executable&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot; | Function&lt;br /&gt;
!style=&amp;quot;width:300px&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| CumulusMX.exe&lt;br /&gt;
| Data Logs menu&lt;br /&gt;
| An option &amp;quot;Update MySQL on Edit&amp;quot; allows you to decide whether MX issues SQL when you edit a data log or &amp;quot;dayfile.txt&amp;quot;, so the same edit is made to the corresponding database table, provided that the table has been created with the default name and has the column names defined by default.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; |CumulusMX.exe&lt;br /&gt;
| Settings menu &amp;amp;rarr; MySQL settings &amp;amp;rarr; General Options&lt;br /&gt;
| An option &amp;quot;Buffer commands on failure&amp;quot; allows you to decide whether MX tries to run SQL commands again, if they fail. IMPORTANT: This is to cope with failure due to the database server going down; the option should not be ticked if you are testing new &amp;quot;custom&amp;quot; SQL and may have made a mistake in the coding.  You need to ensure the SQL is either generated by MX as a fixed query, or has been tested and is correct synta before considering this option.&lt;br /&gt;
|-&lt;br /&gt;
| Settings menu &amp;amp;rarr; MySQL settings &amp;amp;rarr; Realtime.txt Upload&lt;br /&gt;
| An option that can be enabled that automatically updates a &amp;quot;Realtime&amp;quot; table, each new row is effectively what is stored in the file [[realtime.txt]].&lt;br /&gt;
|-&lt;br /&gt;
| Settings menu &amp;amp;rarr; MySQL settings &amp;amp;rarr; Dayfile.txt Upload&lt;br /&gt;
| An option that can be enabled that at end of day ensures that a new line is added to [[dayfile.txt]] and a new row (with similar data) is inserted into a &amp;quot;Dayfile&amp;quot; table.&lt;br /&gt;
|-&lt;br /&gt;
| Settings menu &amp;amp;rarr; MySQL settings &amp;amp;rarr; Monthly log file Upload&lt;br /&gt;
| An option that can be enabled that automatically updates a &amp;quot;Monthly&amp;quot; table, every time a new line is added to the [[Standard_log_files|standard data log file]].&lt;br /&gt;
|-&lt;br /&gt;
| Settings menu &amp;amp;rarr; MySQL settings &amp;amp;rarr; Custom Upload - seconds interval&lt;br /&gt;
| An option that can be enabled that runs some predetermined SQL every time the specified number of seconds has elapsed.&lt;br /&gt;
|-&lt;br /&gt;
| Settings menu &amp;amp;rarr; MySQL settings &amp;amp;rarr; Custom Upload - minutes interval&lt;br /&gt;
| An option that can be enabled that runs some predetermined SQL every time the specified number of minutes has elapsed.&lt;br /&gt;
|-&lt;br /&gt;
| Settings menu &amp;amp;rarr; MySQL settings &amp;amp;rarr; Custom Upload - at rollover&lt;br /&gt;
| An option that can be enabled that runs some predetermined SQL just after dayfile.txt has had a new line, but before other end-of-day actions occur.&lt;br /&gt;
|-&lt;br /&gt;
| ExportToMySQL.exe&lt;br /&gt;
| parameters to utility&lt;br /&gt;
| Determine which file read (and therefore which table updated, using table names set in table name parameters explained in next table)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=The My SQL settings page in interface=&lt;br /&gt;
&lt;br /&gt;
MX controls settings for the relational database tables on a page called &amp;quot;MySQL settings&amp;quot; although you may be using &amp;quot;MariaDB&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Template:WorkInProgressBanner}}&lt;br /&gt;
Since this Wiki page describes settings that frequently change, this page may be out of date, unless somebody is willing to update the Wiki when a MX release makes a change.&lt;br /&gt;
&lt;br /&gt;
== Predetermined SQL ==&lt;br /&gt;
&lt;br /&gt;
The custom table options in MX require you to specify the SQL in advance of it being used, and are therefore intended for use to predetermine all the SQL you might use (conditionals can be included to decide what queries actually get executed if there are alternatives). You can enable/disable individual settings, but the mechanism is not designed to do any one-off actions like creating the custom tables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: The SQL syntax for [https://mysqlconnector.net/ &amp;quot;My SQL Connector&amp;quot;] used by .NET and therefore by MX, differs in various ways from the MySQL Client or MariaDB syntax.&lt;br /&gt;
&lt;br /&gt;
Here is an example of what might be input as &amp;quot;predetermined SQL&amp;quot;, showing how you can use conditionals and web tags:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT IGNORE INTO table_name_1 (primary_key, column_name_1, column_name_2 ....) VALUES (&amp;#039;&amp;lt;#primary_key&amp;gt;&amp;#039;, &amp;#039;&amp;lt;#web tag_name_1 modifier_1&amp;gt;&amp;#039;, &amp;#039;&amp;lt;#web tag_name_2 modifier_2&amp;gt;&amp;#039;   ....);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BEGIN NOT ATOMIC&lt;br /&gt;
IF &amp;#039;&amp;lt;#web tag&amp;gt;&amp;#039; = &amp;#039;---&amp;#039; THEN &lt;br /&gt;
simpler query to run if something not numeric;&lt;br /&gt;
ELSE &lt;br /&gt;
UPDATE table_name_2 SET  column_name_1 = &amp;#039;&amp;lt;#web tag_name_1 modifier_1&amp;gt;&amp;#039;, column_name_2 =  &amp;#039;&amp;lt;#web tag_name_2 modifier_2&amp;gt;&amp;#039;   ....   WHERE primary_key = &amp;#039;&amp;lt;#primary_key&amp;gt;&amp;#039;;&lt;br /&gt;
END IF&lt;br /&gt;
END;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why are Cumulus settings now split between several Wiki pages? ==&lt;br /&gt;
&lt;br /&gt;
The basic answer is because there are a lot of settings, some get changed, and more are added as Cumulus develops!&lt;br /&gt;
&lt;br /&gt;
MX has been developed very dramatically by Mark Crossley:&lt;br /&gt;
#  The MySQL settings for the original 3.0.0 beta were previously documented on [[Cumulus.ini (Beta)]] page, but that page has been cleared.&lt;br /&gt;
# The dramatic development of MX produced considerable differences between that original MX beta, and the configuration that applied up to 3.7.0, [[Cumulus.ini (MX 3.0.0 to 3.7.0)|that latter documentation remains available here]]&lt;br /&gt;
# Even more dramatic changes to the MX configuration have been happening since 3.8.0, with the biggest changes at 3.9.2, 3.10.0, and 3.12.0; therefore, &amp;lt;big&amp;gt;the decision was taken in June 2021 to abandon maintaining the page previously called &amp;quot;Cumulus.ini&amp;quot;, and start again with a brand new page now found [[Cumulus.ini|here]]!&amp;lt;/big&amp;gt;&lt;br /&gt;
# Since the MySQL settings have continued to change, since 2021 they have been moved here from that last mentioned page.&lt;br /&gt;
&lt;br /&gt;
All the pages, previously called &amp;quot;Cumulus.ini&amp;quot;, can be found from the owning [[:Category:Configuration Files|category]].  The original page was preserved at [[Cumulus.ini_(preserving_history)]] so look there for its editing history.   That page also expands on the above summary of why that old page was replaced.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Structure of &amp;#039;&amp;#039;Cumulus.ini&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
The settings described here are stored in a file called &amp;quot;Cumulus.ini&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The file is divided into &amp;quot;File sections&amp;quot;, each File section name is on a separate line (with no other content) and enclosed in square brackets (e.g. &amp;#039;&amp;#039;&amp;#039;[Station]&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
These File sections can appear in any order, by default new File sections are appended after all previous File sections, but if you prefer the File sections in another order, MX can still find them, although it may spend more time searching!&lt;br /&gt;
&lt;br /&gt;
Within each File section, there are parameters. Each parameter is in format &amp;#039;&amp;#039;&amp;#039;Attribute=Value&amp;#039;&amp;#039;&amp;#039;, and appears on a line to itself. &lt;br /&gt;
&lt;br /&gt;
The parameters, within a File section, can be in any order, by default new parameters are appended at end of the relevant File section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Content of &amp;quot;Cumulus.ini&amp;quot; relating to MySQL==&lt;br /&gt;
&lt;br /&gt;
* Introduced in Cumulus MX 3.0.0 beta&lt;br /&gt;
* File Section is [MySQL]&lt;br /&gt;
* MX page is Settings menu &amp;amp;rarr; MySQL settings&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width:30px&amp;quot; | Parameter Line Entry&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot; | MX Section&lt;br /&gt;
!style=&amp;quot;width:60px&amp;quot; | Label on Settings page&lt;br /&gt;
!style=&amp;quot;width:20px&amp;quot; | Default&lt;br /&gt;
!style=&amp;quot;width:600px&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| BufferOnFailure=0&lt;br /&gt;
| General Options&lt;br /&gt;
| Buffer commands on failure&lt;br /&gt;
| 0 = ignore errors&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) if you want MX to store any commands that fail (see note above), and try them again (stored commands lost if MX is stopped)&lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) if you want MX to ignore any errors&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlMinutesCommandString=&lt;br /&gt;
| Custom Upload - minutes interval&lt;br /&gt;
| Option to enter &amp;quot;SQL command&amp;quot; only shown if next parameter is ticked&lt;br /&gt;
| (empty)&lt;br /&gt;
| See [[#Predetermined SQL|&amp;quot;predetermined SQL&amp;quot;]] example above&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlMinutesEnabled=0&lt;br /&gt;
| Custom Upload - minutes interval&lt;br /&gt;
| Custom Minutes Enabled&lt;br /&gt;
| 0 = don&amp;#039;t display other options&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) if you want the previous and next options to be displayed, and actioned&lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) if MX is not to action the previous and next settings&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlMinutesIntervalIndex=6&lt;br /&gt;
| Custom Upload - minutes interval&lt;br /&gt;
| Interval:&lt;br /&gt;
| 6 = 10 minutes&lt;br /&gt;
| Drop-down list of predetermined intervals:&lt;br /&gt;
* 0 = 1 minute&lt;br /&gt;
* 1 = 2 minutes&lt;br /&gt;
* 2 = 3 minutes&lt;br /&gt;
* 3 = 4 minutes&lt;br /&gt;
* 4 = 5 minutes&lt;br /&gt;
* 5 = 6 minutes&lt;br /&gt;
* 6 = 10 minutes&lt;br /&gt;
* 7 = 12 minutes&lt;br /&gt;
* 8 = 20 minutes&lt;br /&gt;
* 9 = 30 minutes&lt;br /&gt;
* 10 = 1 hour (60 minutes)&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlRolloverCommandString=&lt;br /&gt;
| Custom Upload - at rollover&lt;br /&gt;
| Option to enter &amp;quot;SQL command&amp;quot; only shown if next parameter is ticked&lt;br /&gt;
| (empty)&lt;br /&gt;
| See [[#Predetermined SQL|&amp;quot;predetermined SQL&amp;quot;]] example above&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlRolloverEnabled=0&lt;br /&gt;
| Custom Upload - at rollover&lt;br /&gt;
| Custom Rollover Enabled&lt;br /&gt;
| 0 = don&amp;#039;t display other options&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) if you want the previous, and next, options to be displayed, and actioned&lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) if MX is not to action the previous and next settings&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlSecondsCommandString=&lt;br /&gt;
| Custom Upload - seconds interval&lt;br /&gt;
| Option to enter &amp;quot;SQL command&amp;quot; only shown if next parameter is ticked&lt;br /&gt;
| (empty)&lt;br /&gt;
| See [[#Predetermined SQL|&amp;quot;predetermined SQL&amp;quot;]] example above&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlSecondsEnabled=0&lt;br /&gt;
| Custom Upload - seconds interval&lt;br /&gt;
| Custom Seconds Enabled&lt;br /&gt;
| 0 = don&amp;#039;t display other options&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) if you want the previous and next options to be displayed, and actioned&lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) if MX is not to action the previous and next settings&lt;br /&gt;
|-&lt;br /&gt;
| CustomMySqlSecondsInterval=10&lt;br /&gt;
| Custom Upload - seconds interval&lt;br /&gt;
| Interval (seconds):&lt;br /&gt;
| 10&lt;br /&gt;
| A number field, takes 1 to 59&lt;br /&gt;
|-&lt;br /&gt;
| Database=&lt;br /&gt;
| Server details&lt;br /&gt;
| Database name:&lt;br /&gt;
| (empty)&lt;br /&gt;
| A text field where you enter the name of the database your tables are to be created/updated in&lt;br /&gt;
|-&lt;br /&gt;
| DayfileMySqlEnabled=0&lt;br /&gt;
| Dayfile.txt upload&lt;br /&gt;
| Dayfile Enabled&lt;br /&gt;
| 0&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) if you want MX to at end of day ensure that a new line is added to [[dayfile.txt]] and a new row (with similar data) is inserted into a &amp;quot;Dayfile&amp;quot; table&lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) if MX is only to ensure that a new line is added to dayfile.txt&lt;br /&gt;
|-&lt;br /&gt;
| DayfileTable=&lt;br /&gt;
| Dayfile.txt upload&lt;br /&gt;
| Table name&lt;br /&gt;
| Dayfile&lt;br /&gt;
| Having defined this table, and saved the settings, click the &amp;quot;Create Dayfile&amp;quot; button to create the database table with the standard column names. If you change the name here, normal rollover updates and &amp;quot;ExportToMySQl.exe&amp;quot;  will use the table name you define.  Depending which MX release you use, the option to update table when you edit &amp;quot;dayfile.txt&amp;quot; may fail!&lt;br /&gt;
|-&lt;br /&gt;
| Host=Localhost&lt;br /&gt;
| Server details&lt;br /&gt;
| Host name&lt;br /&gt;
| (empty)&lt;br /&gt;
| Set to whatever host name your database server has specified, if you host [[Your_Own_Server]], then you may be able to use &amp;quot;Localhost&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| MonthlyMySqlEnabled=0&lt;br /&gt;
| Monthly logfile upload&lt;br /&gt;
| Monthly Log Enabled&lt;br /&gt;
| 0&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) if you want MX to at your standard logging interval ensure that a new line is added to [[Standard_log_files|standard data log file]] and a new row (with similar data) is inserted into a &amp;quot;Monthly&amp;quot; table.&lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) if MX is only to ensure that a new line is added to standard data log file&lt;br /&gt;
|-&lt;br /&gt;
| MonthlyTable=&lt;br /&gt;
| Monthly logfile upload&lt;br /&gt;
| Table name&lt;br /&gt;
| Monthly&lt;br /&gt;
| Having defined this table, and saved the settings, click the &amp;quot;Create Monthly&amp;quot; button to create the database table with the standard column names. You might wish to change the name here once a year, to stop the database table getting enormous, if so you might name the table something like &amp;quot;standard2020&amp;quot;.  If you change the name here, normal updates and &amp;quot;ExportToMySQl.exe&amp;quot;  will use the table name you define, but at some releases the option to update table when you edit &amp;quot;MMMyyyyLog.txt&amp;quot; may fail&lt;br /&gt;
|-&lt;br /&gt;
| Pass=&lt;br /&gt;
| Server details&lt;br /&gt;
| Password&lt;br /&gt;
| (empty)&lt;br /&gt;
| Set to whatever password is used for update access with the database user name (see below)&lt;br /&gt;
|-&lt;br /&gt;
| Port=3306&lt;br /&gt;
| Server details&lt;br /&gt;
| Port number&lt;br /&gt;
| 3306&lt;br /&gt;
| The port related to the host name (defined above) for update access to your database server&lt;br /&gt;
|-&lt;br /&gt;
| RealtimeMySql1MinLimit=0&lt;br /&gt;
| Realtime.txt upload&lt;br /&gt;
| Limit Inserts:&lt;br /&gt;
| 0 = false&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) &lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) &lt;br /&gt;
See explanation beside and below setting&lt;br /&gt;
|-&lt;br /&gt;
| RealtimeMySqlEnabled=0&lt;br /&gt;
| Realtime.txt upload&lt;br /&gt;
| Real time Enabled&lt;br /&gt;
| 0 = don&amp;#039;t display other options&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) if you want MX to at your real time interval ensure that a new realtime.txt file is created and a new row (with similar data) is inserted into a &amp;quot;Realtime&amp;quot; table.&lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini) if MX is only to ensure that a new line is added to standard data log file&lt;br /&gt;
|-&lt;br /&gt;
| RealtimeRetention=&lt;br /&gt;
| Realtime.txt upload&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data Retention value&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Data Retention unit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;quot;7&amp;quot; and &amp;quot;Days&amp;quot;&lt;br /&gt;
| The value field will take any number, the unit field is a dropdown:&lt;br /&gt;
* Seconds&lt;br /&gt;
* Minutes&lt;br /&gt;
* Hours&lt;br /&gt;
* Days&lt;br /&gt;
* Weeks&lt;br /&gt;
* Months&lt;br /&gt;
Taken together, these determine the period for which rows are kept in the table named in &amp;quot;RealtimeTable&amp;quot;, any row older than this specification will be deleted as part of the automatic SQL&lt;br /&gt;
|-&lt;br /&gt;
| RealtimeTable=Realtime&lt;br /&gt;
| Realtime.txt upload&lt;br /&gt;
| Table name&lt;br /&gt;
| Realtime&lt;br /&gt;
| Having defined this table, and saved the settings, click the &amp;quot;Create Realtime&amp;quot; button to create the database table with the standard column names. Remember that you can tailor the contents of &amp;quot;realtime.txt&amp;quot;, if you want non-standard columns in this table, you have to create the table yourself.&lt;br /&gt;
|-&lt;br /&gt;
| UpdateOnEdit=1&lt;br /&gt;
| General Options&lt;br /&gt;
| Update MySQL on Edit&lt;br /&gt;
| 1 = update the table when edit the file&lt;br /&gt;
| Simple tick or not&lt;br /&gt;
*Tick (value shown as 1 in Cumulus.ini) &lt;br /&gt;
* Don&amp;#039;t tick (value shown as 0 in Cumulus.ini)&lt;br /&gt;
Please see begining of previous table for explanation and warning about how all defaults must be set for this to work&lt;br /&gt;
|-&lt;br /&gt;
| User=&lt;br /&gt;
| Server details&lt;br /&gt;
| User name&lt;br /&gt;
| (empty)&lt;br /&gt;
| Database access user name, that matches with password described earlier&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sfws</name></author>
	</entry>
</feed>