it-swarm.asia

ALTER TABLE - إعادة تسمية العمود

هذا يقودني إلى الجنون!

أريد إعادة تسمية عمود من قراءة المزيد إلى read_more في جدول مدونتي

حاولت كل هذا:

  ALTER TABLE blog RENAME COLUMN read-more to read_more;
  ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL;

وأنا دائما أحصل على هذا!

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLUMN read-more to read_more' at line 1

أنا أستخدم MySQL 5.5

105
Bojan

الصيغة الصحيحة قريبة من محاولتك الثانية ، لكنك تحتاج إلى الهروب من أسماء الأعمدة باستخدام علامات اقتباس لا مع علامات اقتباس مفردة:

ALTER TABLE `blog` CHANGE COLUMN `read-more` `read_more` VARCHAR(255) NOT NULL;
141
GhostGambler
ALTER TABLE `blog` CHANGE  `read-more` `read_more` VARCHAR(255) NOT NULL;

فوق الاستعلام المذكور صحيح وليس هناك حاجة لاستخدام الكلمة الرئيسية "العمود" وعروض الأسعار حول الجدول واسم العمود إذا كنت تستخدم قاعدة بيانات الخلية:

ALTER TABLE blog CHANGE read-more read_more VARCHAR(255) NOT NULL;
18
rahul

إليك ما نجح معي:

ALTER TABLE vm_list CHANGE `vm_notes]` vm_notes VARCHAR(255); 

Query OK, 0 rows affected (0.01 sec) 
Records: 0  Duplicates: 0  Warnings: 0

نعم ، حصلت بطريقة ما على عمود باسم "vm_notes]" هناك.

3
Boris Epstein