PDA

View Full Version : سوال در مورد سینتکس ALTER در MySQL



I,Nobody
سه شنبه 16 خرداد 1385, 12:35 عصر
سلام.سوال:چطور میشه چند تا ALTER رو با یه Query انجام بدم؟مثلاً این سه تا رو توی یه query بنویسم :
ALTER TABLE `form341430140905` ADD `testfield` VARCHAR( 255 ) AFTER `field676619855562` ;ALTER TABLE `form341430140905` ADD INDEX ( `testfield` ) ;ALTER TABLE `form341430140905` ADD FULLTEXT (`testfield` );

tabib_m
سه شنبه 16 خرداد 1385, 18:19 عصر
این کار چه لزومی داره؟؟

پ.ن: از این که توی کار مدیرا دخالت میکنم ، معذرت میخوام، میتونستید این سوال رو توی انجمن مای اس کیو ال مطرح کنید.

I,Nobody
چهارشنبه 17 خرداد 1385, 06:37 صبح
لزوم داره و دلیل اینکه من اینجا مطرحش کردم، اینه که می خوام با PHP این کار رو بکنم.
ضمناً توی PHP ما نمی تونیم چند تا query رو یک جا اجرا کنیم. یعنی کاراکتر ";" که جدا کننده query ها هست، قبول نمی کنه.

tabib_m
چهارشنبه 17 خرداد 1385, 13:42 عصر
ضمناً توی PHP ما نمی تونیم چند تا query رو یک جا اجرا کنیم.
اگه منظورتون از یک جا همزمان ه (دقیقا همزمان) امکان نداره.
ولی اگه منظورتون اینه که اونها رو مثلا فقط در یک دستور mysql_query میخواید بدید، فکر نمیکنم که فرقی به حالتون بکنه. به هر حال دستورات اس کیو ال پشت سر هم (به ترتیب) اجرا میشن. حالا فرقی نمیکنه که با یک تابع اونها رو صدا بزنید ، و یا با چند تا تابع!!!

reza_rad
چهارشنبه 17 خرداد 1385, 13:51 عصر
ضمناً توی PHP ما نمی تونیم چند تا query رو یک جا اجرا کنیم.


الان mysql دیگه storeprocedure رو support می کنه.چرا از اون استفاده نمی کنید؟!

I,Nobody
چهارشنبه 17 خرداد 1385, 13:52 عصر
فرقی نمیکنه که با یک تابع اونها رو صدا بزنید ، و یا با چند تا تابع!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:متعجب:

I,Nobody
چهارشنبه 17 خرداد 1385, 14:09 عصر
الان mysql دیگه storeprocedure رو support می کنه.چرا از اون استفاده نمی کنید؟!
متاسفانه مجبورم بر اساس MySQL 3 برنامه رو بنویسم

reza_rad
چهارشنبه 17 خرداد 1385, 14:17 عصر
اینجوری بنویس query رو :


ALTER TABLE `form341430140905` ADD `testfield` VARCHAR( 255 ) AFTER `field676619, add ...


حواست باشه که alter table فقط یه بار نوشته میشه و بعد با کاما جدا میشه.

I,Nobody
پنج شنبه 18 خرداد 1385, 06:37 صبح
اینجوری بنویس query رو :


ALTER TABLE `form341430140905` ADD `testfield` VARCHAR( 255 ) AFTER `field676619, add ...


حواست باشه که alter table فقط یه بار نوشته میشه و بعد با کاما جدا میشه.
آهان.
مشکلم همین بود.
مرسی.
ولی مشکل دیگه ای که دارم اینه که با بیش از یه table، همزمان کار دارم.
البته فکر کنم اینو دیگه نمیشه کاریش کرد.

reza_rad
پنج شنبه 18 خرداد 1385, 09:16 صبح
ولی مشکل دیگه ای که دارم اینه که با بیش از یه table، همزمان کار دارم.
البته فکر کنم اینو دیگه نمیشه کاریش کرد.


آره فکر کنم اینو نمی تونی کاریش بکنی
چون لازمه که از store procedure استفاده کنی

oxygenws
پنج شنبه 18 خرداد 1385, 13:35 عصر
به انجمن مناسب منتقل شد.