<tfoot id='aWRF8'></tfoot>
      • <bdo id='aWRF8'></bdo><ul id='aWRF8'></ul>

    1. <small id='aWRF8'></small><noframes id='aWRF8'>

      1. <legend id='aWRF8'><style id='aWRF8'><dir id='aWRF8'><q id='aWRF8'></q></dir></style></legend>
      2. <i id='aWRF8'><tr id='aWRF8'><dt id='aWRF8'><q id='aWRF8'><span id='aWRF8'><b id='aWRF8'><form id='aWRF8'><ins id='aWRF8'></ins><ul id='aWRF8'></ul><sub id='aWRF8'></sub></form><legend id='aWRF8'></legend><bdo id='aWRF8'><pre id='aWRF8'><center id='aWRF8'></center></pre></bdo></b><th id='aWRF8'></th></span></q></dt></tr></i><div id='aWRF8'><tfoot id='aWRF8'></tfoot><dl id='aWRF8'><fieldset id='aWRF8'></fieldset></dl></div>

      3. MySQL:如果列不存在则更改表

        MySQL: ALTER TABLE if column not exists(MySQL:如果列不存在则更改表)

        • <small id='9w45F'></small><noframes id='9w45F'>

          <tfoot id='9w45F'></tfoot>
              <i id='9w45F'><tr id='9w45F'><dt id='9w45F'><q id='9w45F'><span id='9w45F'><b id='9w45F'><form id='9w45F'><ins id='9w45F'></ins><ul id='9w45F'></ul><sub id='9w45F'></sub></form><legend id='9w45F'></legend><bdo id='9w45F'><pre id='9w45F'><center id='9w45F'></center></pre></bdo></b><th id='9w45F'></th></span></q></dt></tr></i><div id='9w45F'><tfoot id='9w45F'></tfoot><dl id='9w45F'><fieldset id='9w45F'></fieldset></dl></div>

              <legend id='9w45F'><style id='9w45F'><dir id='9w45F'><q id='9w45F'></q></dir></style></legend>
                  <bdo id='9w45F'></bdo><ul id='9w45F'></ul>
                    <tbody id='9w45F'></tbody>
                  本文介绍了MySQL:如果列不存在则更改表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我有这个代码:

                  ALTER TABLE `settings`
                  ADD COLUMN `multi_user` TINYINT(1) NOT NULL DEFAULT 1
                  

                  而且我只想在此列不存在时更改此表.

                  And I want to alter this table only if this column doesn't exist.

                  我尝试了很多不同的方法,但没有任何效果:

                  I'm trying a lot of different ways, but nothing works:

                  ALTER TABLE `settings`
                  ADD COLUMN IF NOT EXISTS `multi_user` TINYINT(1) NOT NULL DEFAULT 1
                  

                  与程序:

                  DELIMITER $$
                  CREATE PROCEDURE Alter_Table()
                  BEGIN
                      DECLARE _count INT;
                      SET _count = (  SELECT COUNT(*) 
                                      FROM INFORMATION_SCHEMA.COLUMNS
                                      WHERE   TABLE_NAME = 'settings' AND 
                                              COLUMN_NAME = 'multi_user');
                      IF _count = 0 THEN
                          ALTER TABLE `settings` ADD COLUMN `multi_user` TINYINT(1) NOT NULL DEFAULT 1
                      END IF;
                  END $$
                  DELIMITER ; 
                  

                  我在 END IF 中出错,然后在 END 中,然后在 1 中

                  I got error in END IF, then in END and then in 1

                  我怎样才能让它尽可能简单?

                  How can I make this as simple as possible?

                  推荐答案

                  在存储过程中使用以下内容:

                  Use the following in a stored procedure:

                  IF NOT EXISTS( SELECT NULL
                              FROM INFORMATION_SCHEMA.COLUMNS
                             WHERE table_name = 'tablename'
                               AND table_schema = 'db_name'
                               AND column_name = 'columnname')  THEN
                  
                    ALTER TABLE `TableName` ADD `ColumnName` int(1) NOT NULL default '0';
                  
                  END IF;
                  

                  这篇关于MySQL:如果列不存在则更改表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  ibtmp1是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:autoextend,也就是说在文件系统磁盘足够的情况下,这个文件大小是可以无限增长的。 为了避免ibtmp1文件无止境的暴涨导致
                  What does SQL clause quot;GROUP BY 1quot; mean?(SQL 子句“GROUP BY 1是什么意思?意思是?)
                  MySQL groupwise MAX() returns unexpected results(MySQL groupwise MAX() 返回意外结果)
                  MySQL SELECT most frequent by group(MySQL SELECT 按组最频繁)
                  Why Mysql#39;s Group By and Oracle#39;s Group by behaviours are different(为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同)
                  MySQL GROUP BY DateTime +/- 3 seconds(MySQL GROUP BY DateTime +/- 3 秒)

                          <tbody id='Qd8Bk'></tbody>

                        <i id='Qd8Bk'><tr id='Qd8Bk'><dt id='Qd8Bk'><q id='Qd8Bk'><span id='Qd8Bk'><b id='Qd8Bk'><form id='Qd8Bk'><ins id='Qd8Bk'></ins><ul id='Qd8Bk'></ul><sub id='Qd8Bk'></sub></form><legend id='Qd8Bk'></legend><bdo id='Qd8Bk'><pre id='Qd8Bk'><center id='Qd8Bk'></center></pre></bdo></b><th id='Qd8Bk'></th></span></q></dt></tr></i><div id='Qd8Bk'><tfoot id='Qd8Bk'></tfoot><dl id='Qd8Bk'><fieldset id='Qd8Bk'></fieldset></dl></div>

                        <legend id='Qd8Bk'><style id='Qd8Bk'><dir id='Qd8Bk'><q id='Qd8Bk'></q></dir></style></legend>
                        • <bdo id='Qd8Bk'></bdo><ul id='Qd8Bk'></ul>
                          <tfoot id='Qd8Bk'></tfoot>
                          • <small id='Qd8Bk'></small><noframes id='Qd8Bk'>