草庐IT

show-ignore

全部标签

mysql - Alter ignore table add column if not exists 使用 SQL 语句

我想向mysql表中添加一个新列,但如果该列已经存在,我想忽略该列的添加我正在使用ALTERIGNORETABLE`db`.`tablename`ADDCOLUMN`column_name`textNULL;但这会引发错误:"ERROR1060(42S21):Duplicatecolumnname'column_name'"即使我使用了IGNORE,它也不起作用我希望它使用普通的SQL语句而不是存储过程来工作 最佳答案 根据documentation:IGNOREisaMySQLextensiontostandardSQL.Itco

mysql - INSERT IGNORE - 如何判断是否已插入?

我将需要一个SQL查询来INSERT..ONDUPLICATEKEYUPDATE(或INSERTIGNOREINTO)我的表。我需要知道是否发生了更新实际或者是否插入了新行。一个很好的引用是这个SOanswer,不幸的是,对所采取的行动没有答案。至于现在我正在使用INSERT..ONDUPLICATEKEYUPDATE:INSERTINTO`tbl`(`CLIENT_ID`,`COMP_ID`,`DATETIME`)VALUES(12334,32,NOW())ONDUPLICATEKEYUPDATE`COMP_ID`=VALUES(`COMP_ID`),`DATETIME`=VALUE

mysql - 'show table status' 中的数据长度

我正在尝试找出数据库表的大小。我运行了“显示表状态”查询,结果中有data_length参数。这是否代表数据库表的实际大小? 最佳答案 对于InnoDB,data_length是表大小的估计,以字节为单位,不包括二级索引。文档说这是“数据文件的大小”,但该语言假定您在单独的文件中有数据,而InnoDB并非总是如此。表的大小对于InnoDB来说有点模糊,因为InnoDB还在回滚段全局存储了一些行的副本,还有磁盘存储的其他用途(数据字典,变更缓冲区)。您还应该添加index_length,这是二级索引的大小。

插入前使用 INSERT IGNORE 触发 MySQL

在插入某个表之前设置的MySQL触发器是否在我调用INSERTIGNORE并忽略插入时执行? 最佳答案 这是一个演示:mysql>createtablefoo(foo_idintprimarykey);mysql>createtablebar(foo_idint);mysql>createtriggerfoo_insbeforeinsertonfooforeachrowinsertintobarsetfoo_id=new.foo_id;mysql>insertignoreintofoosetfoo_id=123;QueryOK,1r

mysql - MAMP MySQL 命令行 "show database;"不会显示所有数据库

我对使用MAMP以及PHP和MySQL还很陌生。当我第一次在我的机器上安装MAMP时,一切正常(建立连接等),我能够毫无问题地使用命令行来处理MySQL。此外,当我第一次开始使用命令行时,我可以输入sql命令“showdatabases;”它列出了在我的MAMP的phpMyAdmin部分找到的三个数据库(information_schema、mysql和performance_schema)。然后我添加了我自己的数据库,使其成为四个数据库,一切仍然很好。然而,最近几次我尝试使用命令行并键入“showdatabases;”时,它只返回一个数据库:information_schema,我无

mysql - UNIQUE + INSERT IGNORE 如何工作?

我有这张表:CREATETABLE`recent_adds`(`id`INT(11)UNSIGNEDNOTNULLAUTO_INCREMENT,`trackid`INT(11)UNSIGNEDNOTNULL,`user`VARCHAR(255)NOTNULL,PRIMARYKEY(`id`))COLLATE='utf8_general_ci'而且我只想在trackd/user对尚未插入表中时插入数据。我知道有一种UNIQUE+INSERTIGNORE可以解决这种问题,但实际上我不太明白它是如何工作的。如果我执行此命令:ALTERTABLErecent_addsADDUNIQUEINDE

mysql - show processlist 中的 mysql binlog dump 是什么

当我在mysql中执行showprocesslist时,我得到了进程列表。binlogdump的进程之一从退出长时间运行。什么是二进制日志转储?我需要杀死这个吗?如果我终止这个进程会发生什么? 最佳答案 通常当我们收到错误太多连接时,我们正在执行显示过程,但在我的情况下,Mysql没有间歇性地响应。因此,如果有任何长时间运行的查询,我想查看进程,以便我可以终止它。我在进程列表的Command列下得到了binlogdump。Command显示线程当前正在执行的命令类型。binlogdump是主服务器上的一个线程,用于将二进制日志内容发

php - MySQL/PHP : show posts and for each post all comments

我知道这个问题已经被问过很多次了(但是,我仍然找不到解决方案):PHPMYSQLshowingpostswithcommentsmysqlquery-blogpostsandcommentswithlimitmysqlstructureforpostsandcomments...基本问题:有表posts、comments、user...你能用一个单一的选择语句选择并显示所有帖子和所有评论(带有comment.user、comment.text、comment.timestamp)?这样的select语句会是什么样子?如果不是,最简单的解决方案是什么?我还尝试将JOINcomments表

mysql - "Alter ignore"+ "unique key"去重,mysql和sql server

我有一个表,其中包含1列的一些重复值,即表emailsidemail1test@test.com2test@test.com3more@most.many4cook@sheep.com我想删除ID为“2”的行。我想通过创建email的唯一索引来实现这一点,从而强制表删除冗余。我已经看到这里引用了这个方法(http://www.it-iss.com/mysql/sql-removing-duplicate-records/)和https://stackoverflow.com/questions/19000050/how-to-delete-first-of-a-double-recor

Mysql Excel : No Connection Showing

MysqlforExcel插件出现问题,当我第一次安装它时,它显示我的本地连接等。我关闭程序并重新打开它,从那以后它拒绝显示任何东西,它确实不显示本地连接或远程连接-但从MYSQL基准测试一切正常,我可以看到所有连接等,但excel中的插件只是空白的灰色屏幕-如屏幕截图所示,我已经卸载并重新安装了我的两个excel和插件,仍然给出同样的错误,任何想法或帮助将不胜感激 最佳答案 来自https://bugs.mysql.com/bug.php?id=96047的工作解决方案SimplystartupExcel,clickonFilea