diff --git a/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx b/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx
index cce6471..f8d99c0 100644
--- a/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx
+++ b/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx
@@ -12,6 +12,7 @@ import { IconDeleteStroked } from "@douyinfe/semi-icons";
import { useDiagram, useUndoRedo } from "../../../hooks";
import { useTranslation } from "react-i18next";
import { dbToTypes } from "../../../data/datatypes";
+import { databases } from "../../../data/databases";
export default function FieldDetails({ data, tid, index }) {
const { t } = useTranslation();
@@ -98,7 +99,7 @@ export default function FieldDetails({ data, tid, index }) {
{t("size")}
updateField(tid, index, { size: value })}
onFocus={(e) => setEditField({ size: e.target.value })}
@@ -230,7 +231,9 @@ export default function FieldDetails({ data, tid, index }) {
{
setUndoStack((prev) => [
...prev,
@@ -260,6 +263,42 @@ export default function FieldDetails({ data, tid, index }) {
}}
/>
+ {databases[database].hasArrays && (
+
+
{t("declare_array")}
+
{
+ setUndoStack((prev) => [
+ ...prev,
+ {
+ action: Action.EDIT,
+ element: ObjectType.TABLE,
+ component: "field",
+ tid: tid,
+ fid: index,
+ undo: {
+ [checkedValues.target.value]: !checkedValues.target.checked,
+ },
+ redo: {
+ [checkedValues.target.value]: checkedValues.target.checked,
+ },
+ message: t("edit_table", {
+ tableName: tables[tid].name,
+ extra: "[field]",
+ }),
+ },
+ ]);
+ setRedoStack([]);
+ updateField(tid, index, {
+ isArray: checkedValues.target.checked,
+ increment: data.isArray ? data.increment : false,
+ });
+ }}
+ />
+
+ )}
{t("comment")}