【问题标题】:MySQL Alter Table Add Field Before or After a field already presentMySQL 更改表在已存在的字段之前或之后添加字段
【发布时间】:2011-03-23 17:00:23
【问题描述】:

我有这个,但它不起作用:

$query = "ALTER TABLE `".$table_prefix."posts_to_bookmark` 
            ADD `ping_status` INT( 1 ) NOT NULL BEFORE `onlywire_status`";

我很感激!

【问题讨论】:

    标签: php mysql


    【解决方案1】:
    $query = "ALTER TABLE `" . $table_prefix . "posts_to_bookmark` 
              ADD COLUMN `ping_status` INT(1) NOT NULL 
              AFTER `<TABLE COLUMN BEFORE THIS COLUMN>`";
    

    我相信您需要拥有ADD COLUMN 并使用AFTER,而不是BEFORE

    如果您想将列放在表的开头,请使用FIRST 语句:

    $query = "ALTER TABLE `" . $table_prefix . "posts_to_bookmark`
              ADD COLUMN `ping_status` INT(1) NOT NULL 
              FIRST";
    

    http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

    【讨论】:

    • 是的,之后或之前,而不是之前。 +1
    • 太棒了。谢谢!
    • 使用 BEFORE 理解“为什么我想把这个字段放在那里”是有意义的。当我定位到行中“系列”字段的第一个位置时,我只需添加“# AKA BEFORE fieldname
    猜你喜欢
    • 2011-08-24
    • 2016-09-09
    • 2012-02-14
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    相关资源
    最近更新 更多