شرح صفوف ومحتوى الفقرة
يجب أن يحتوي كل جدول علائقي على عمود مفتاح أساسي (PRIMARY KEY) يميز كل سجل بشكل فريد ويسرّع عمليات البحث والربط.
- في MySQL، استخدم
BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEYلتوليد أرقام تعريف موجبة تتزايد تلقائياً مع كل سجل جديد. - حدد الأعمدة الإلزامية بالقيد
NOT NULLوأضف قيماً افتراضية مثلDEFAULT CURRENT_TIMESTAMPلتاريخ الإنشاء. - استخدم النوع
DECIMAL(10, 2)بدلاً منFLOATللمبالغ المالية لتفادي أخطاء التقريب الثنائي في الكسور العشرية.
يعرّف جدول products مفتاحاً أساسياً متزايداً تلقائياً، وعنواناً إلزامياً VARCHAR(150)، وسعراً مالياً دقيقاً DECIMAL(10,2).
PHP
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE products (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR(150) NOT NULL,
price DECIMAL(10,2) NOT NULL DEFAULT 0.00
)');
$pdo->exec("INSERT INTO products (title, price) VALUES ('Keyboard', 249.50)");
echo "Created ID: " . $pdo->lastInsertId() . "\n";