编辑数据库表的结构

“数据库表”编辑和保存供 HMI使用的数据库中的表。
这里的数据库表是保存在数据库中的表格(table)。
此在画面上,可以编辑数据库表中的结构,编辑表中列的名称、数据的类型等。
最大列数为256。
内容
数据库表设定
显示数据库表设定画面,可以确认或设定数据库表的名称等内容。
编辑数据库表的数据
显示编辑数据库表数据画面,可以编辑数据库表的数据内容。
追加列
按“添加列”按钮,可以在列的编辑区域,添加新的一列。
在编辑的过程中,不会在实际的数据库表中增加列。只有在保存设定后,数据库中才会增加或修改列。
废弃编辑(内容)
获取数据库表的当前结构设定,编辑修改的内容将被废弃。
如果编辑时出现错误,建议废弃当前的编辑内容,确认数据库表的实际结构中列的设置。
数据表的列
操作
按下此按钮,保存所选列的编辑内容。
按下此按钮,从编辑区域删除此列。只要不按“保存设定”,这个列不会实际从数据库表中删除。
列名
可以通过点击名称部分更改列名。名称必须以小写字母开头,以字母或数字构成。不能使用特殊字符,如“双引号”或“单引号”等,也不能使用数据库SQL语言中的关键词,如select, from等。
此外,列名不能重复。
备注
为各个列设定备注。可以在HMI表格部件中显示。
以“jp:XXX,en:XXX,zh:XXX”的形式设定多语言的备注。HMI的表中,可以根据现在的语言,显示设定的备注。
类型
指定列的数据类型。
列的数据类型,在以下的类型中选择。
数据类型为“真假”、“整数”、“实数”、“字符串”、“日期”、“时间”、“日期和时间”七种。 各对应于数据库内的"boolean","int","float","text","date","time","timestamp"类型。
当列的类型被修改时,如果数据已经存在,会发生数据的转换。如果新旧类型之间无法转换,则不能保存修改。
关于是否可以进行类型的转换,请参阅以下的类型转换可否表。
类型转换可否表 转换目标类型 可以转换的类型 可以转换,但不保留原值 不能转换 真假 字串 数值 实数,日期,时间,日期和时间 整数 实数,字符串 真假 日期,时间,日期和时间 实数 字串 整数 真假,日期,时间,日期和时间 字串 真假,数字,真实,日期,时间,日期和时间※1 无 无 日期 字符串,日期和时间 无 真假,整数,实数,时间 时间 字符串 无 真假,整数,实数,日期,日期和时间 日期和时间 字串 日期,时间 真假,整数,实数 ※1 从字符串转换到指定类型时,数据库表中保存的值,必须符合目标类型的格式。
属性
可以设定列的属性。
“唯一值”是在所有数据记录中不能重复的值。如果此选项有效,此设置将不允许创建本列中出现相同的值的记录,但NULL是例外。设定数据库的所谓UNIQUE的约束。
“主键”是用来识别数据库表上记录的列。如果此选项有效,“主键”与“_id_”将构成唯一的识别组合。此外,NULL输入将不被允许。详细请参阅 创建数据库表。设定数据库的所谓PRIMARY的约束。
默认值
设置每个列的默认值。
默认值是当一个新的记录被添加到数据库表时,在没有指定值时使用的缺省值。
改变默认值的设置,不会改变数据库中既存记录的值。
默认值不能设置为null。
与时间关联的列的默认值,可以设置为“now()”。“now()”是指当前的时间。
将数据库表保存为CSV
下载数据库表格的数据,并保存为CSV格式的文件。
在删除数据库表,删除数据库表中的记录,或者做列的类型的变更之前,建议先将数据库表保存为csv文件作为备份。
取消(设定)
放弃当前的编辑内容。
从当前画面回到数据库表的一览画面。
保存结构
保存当前的编辑内容。根据列的“类型”,“属性”的修改内容,可能弹出警告画面。
如果出现警告画面,请确认内容中。如果确定没有问题,选择“只管执行”。如果即使有可能删除既存的数据库表的记录,也继续执行的话,按“删除数据后执行”。 如果要取消,请按“取消”按钮或画面上的按钮×。
如果要选择“只管执行”,“删除数据后执行”,建议先保存为CSV文件作为备份。
保存后返回
保存当前的编辑内容,返回到数据库表的一览画面。根据列的“类型”,“属性”的修改内容,可能弹出警告画面。
如果出现警告画面,请确认内容中。如果确定没有问题,选择“只管执行”。如果即使有可能删除既存的数据库表的记录,也继续执行的话,按“删除数据后执行”。 如果要取消,请按“取消”按钮或画面上的按钮×。
如果要选择“只管执行”,“删除数据后执行”,建议先保存为CSV文件作为备份。
在保存成功后,返回到数据库表的一览画面。
关于创建的数据库表
通过本编辑画面创建的数据库表,具有以下属性。
自动追加了“_id_”和“_timestamp_”列
“_id _”与“_ timestamp_”两个列,用于提供“数据库表”检索和时效功能。
“_id_”用于编辑数据库表格的数据,使的对于1个记录的修改,不会影响到其他记录。
“_id_”为连号的整数,并设置为主键。
如要操作“_id_”的值,建议另外设定其他的列为主键。
“_timestamp_”提供数据的限制功能,当记录被追加或更新时,将更新时的时间保存在此列中。
“_timestamp_”的数据类型为“日期和时间”(timestamp with time zone),默认值为“now()”。
通过“数据库操作”更新数据库表的记录时,如果没有指定“_ timestamp_”的值,将使用当前时间更新此列。
创建数据库表时,不能输入null值
在追加列,或编辑表的数据时,或通过“数据库操作”更新、追加记录时,将插入的默认值,而不是null。
这是因为,HMI的监控画面不能使用null值。因此,必须设定列的默认值。
但是并不表示数据库表的列不能使用null值(列的属性并没有标明为NOT NULL约束)。