ساخت جدول در mysql

mohsen162

Member
با سلام خدمت همه دوستان
ببنید به صورت متعارف ساخت جدول با دستور SQL به اینصورت است
PHP:
CREATE TABLE `insertdataezdevag` (
id INT NOT NULL AUTO_INCREMENT,
`city` VARCHAR(10) NOT NULL,
`es` int(15) NOT NULL,
PRIMARY KEY(id)
)ENGINE = MYISAM CHARACTER SET utf8 ;
اگر بخوام که فیلد خالی هم تعریف بشه به اینصورت عمل می کنیم
PHP:
CREATE TABLE `insertdataezdevag` (
id INT NOT NULL AUTO_INCREMENT,
`city` VARCHAR(10) ,
`es` int(15) L,
PRIMARY KEY(id)
)ENGINE = MYISAM CHARACTER SET utf8 ;
مشکل من انجا شروع میشه که در هر فیلدی که چیزی ننویسم MYSQL به صورت اتوماتیک NULL مینویسه و وقتی بک آپ میگیرم \N بجای آن مینویسم
میخوام هیچی ننویسه
مثلا بجای این
1,N,1,1,1,1/ بنویسه 1,1 1,1,1,,
 

mohsen162

Member
مگه ربطی داره
ببنید این مگه مربوط به تنظیمات mysql نیست ببنید مثلا وقتی به صورت text بکاپ میگری نوشته به جای null چی می خوای بنویسی
من می خوام این تنظیماتو موقع ساختن جدول به صورت اتوماتیک انجام دهم عکسو ببنید
 

پیوست ها

  • untitled.JPG
    untitled.JPG
    98.7 کیلوبایت · بازدیدها: 3

mohsen162

Member
یعنی کسی تا بحال نخواسته از دیتابیس خروجی بگیره که وقتی null نوشته باشه بخواد جاش خالی باشه:shock:
 

Cyletech

Member
وقتی که NOT NULL می ذاری یعنی NULL نباید باشه. نال هم به معنی خالی نیست ! یعنی نال برابر empty یا '' یا حتی array() نیست. NULL هم مقداری داره. گرچه من هیچوقت ندیدم مقدارش به اون صورت باشه که دیده بشه ! ولی در هر حال اینی که من فهمیدم ، شما میخوای برای هر فیلد مورد نظرت یه مقدار پیشفرض قرار بدی. باید اینطوری بنویسی:
کد:
CREATE TABLE `insertdataezdevag` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`city` VARCHAR(10) NOT NULL DEFAULT 'xxx',
`es` int(15) NOT NULL DEFAULT 'yyy',
PRIMARY KEY(id)
)ENGINE = MYISAM CHARACTER SET utf8 ;
xxx و yyy رو باتوجه به نیازت تغیییر بده.
 

mohsen162

Member
ممنون دوست عزیز مشکل حل شد
اما برای اطلاع دوستان یک روشم خودم پیدا کردم البته استاندارد نیست اونم استفاده از COALESCE یا ifnull در دستور کوئری است
برای این میگم استاندار نیست که برای هر فیلدی باید این دستورو استفاده کرد مثلا
PHP:
COALESCE(nmo ,'' )
 

Cyletech

Member
ممنون دوست عزیز مشکل حل شد
اما برای اطلاع دوستان یک روشم خودم پیدا کردم البته استاندارد نیست اونم استفاده از COALESCE یا ifnull در دستور کوئری است
برای این میگم استاندار نیست که برای هر فیلدی باید این دستورو استفاده کرد مثلا
خوبه برنامه نویس راه های دست یافتن به اون چیزی که میخواد رو بدونه ولی باید همیشه بهینه ترین رو انتخاب کنه و بکار ببره :rose:
 

جدیدترین ارسال ها

بالا