السلام عليكم اريد مساعدة فى كتابة امر sql

ألسلام عليكم تحية طبية للجميع يوجد لدى تطبيق React native يعمل بقاعدة sqlite

اريد كتابة امر واحد فقط يقوم باانشاء جدول ثم تسجيل بيانات افتراضية داخل الجدول عند انشاءه كل هاذا فى امر واحد فقك مثال

create table user (name varchar(200) )

كيف يمكن اضافة بينات داخل الجدول فى نفس الامر


التعليق السابق

للااسف جربت الكود نفس المشكلة مع كل ريفرش الداتا بتتكرر

حاول إضافة شرط يتحقق قبل إنشاء الجدول وإضافة البيانات الافتراضية باستخدام دالة executeSql لتنفيذ استعلام SQL لفحص ما إذا كان الجدول موجودًا بالفعل قبل إنشائه وإضافة البيانات الافتراضية، كالتالي:

import SQLite from 'react-native-sqlite-storage';


const db = SQLite.openDatabase({ name: 'mydatabase.db' });


db.transaction((tx) => {
  tx.executeSql(
    `SELECT name FROM sqlite_master WHERE type='table' AND name='user'`,
    [],
    (_, result) => {
      if (result.rows.length === 0) {
        tx.executeSql(
          `CREATE TABLE user (name VARCHAR(200))`,
          [],
          (_, result) => {
            tx.executeSql(
              `INSERT INTO user (name) VALUES ('John'), ('Jane'), ('Adam')`,
              [],
              (_, result) => {
                console.log('جدول المستخدمين تم إنشاؤه وتمت إضافة البيانات الافتراضية بنجاح.');
              },
              (_, error) => {
                console.log('حدث خطأ أثناء إضافة البيانات الافتراضية:', error);
              }
            );
          },
          (_, error) => {
            console.log('حدث خطأ أثناء إنشاء جدول المستخدمين:', error);
          }
        );
      } else {
        console.log('جدول المستخدمين موجود بالفعل.');
      }
    },
    (_, error) => {
      console.log('حدث خطأ أثناء البحث عن الجدول:', error);
    }
  );
});

قمت بإضافة استعلام SQL جديد باستخدام tx.executeSql للبحث عن وجود الجدول بالفعل، وإذا كان عدد الصفوف المُرجَعة من النتيجة result.rows.length يساوي 0، فذلك يعني أن الجدول غير موجود ويمكن إنشاؤه وإضافة البيانات الافتراضية، وفي حال كانت القيمة غير 0، فذلك يعني أن الجدول موجود بالفعل ولن يتم تنفيذ الإجراءات.

وبالطبع يجب حذف قاعدة البيانات السابقة أو مسح الجدول لتجنب ظهور بيانات مكررة.

ِشكراا تم حل المشكلة