草庐IT

db_column

全部标签

mysql - 外键在 MySQL : Why can I INSERT a value that's not in the foreign column? 中不起作用

我在MySQL中创建了一个表:CREATETABLEactions(A_idintNOTNULLAUTO_INCREMENT,typeENUM('rate','report','submit','edit','delete')NOTNULL,Q_idintNOTNULL,U_idintNOTNULL,dateDATENOTNULL,timeTIMENOTNULL,ratetinyint(1),PRIMARYKEY(A_id),CONSTRAINTfk_QuestionFOREIGNKEY(Q_id)REFERENCESquestions(P_id),CONSTRAINTfk_UserF

mysql查询: SELECT DISTINCT column1, GROUP BY column2

现在我有以下查询:SELECTname,COUNT(name),time,price,ip,SUM(price)FROMtablenameWHEREtime>=$yesterdayANDtime而我想做的是在“ip”列中添加一个DISTINCT,即SELECTDISTINCTipFROMtablename所以我的最终输出将是所有列,来自今天时间所在的所有行,按名称分组(每个重复名称的名称计数)并且没有重复的IP地址。我的查询应该是什么样的?(或者,如何使用php将缺少的过滤器添加到输出中)?提前致谢。[更新]为了尽量减少混淆,请考虑这个(简化的)数据库表:|name|ip|------

mysql - 返回的记录集已关闭(通过 VBA 中的 ODBC 访问 mysql DB)

长期观看者第一次海报。我正在开发一个带有Excel前端的数据库应用程序。因此我使用VBA访问MySQL数据库。我使用的驱动程序是ODBC驱动程序(Windows),并且我与数据库的连接有效,因为许多其他查询都运行良好。我想做的是从一系列SQL语句中返回结果,而不是试图将它们全部组合成一个庞大的语句(这可能有效,但难以维护/理解)。我已将标志FLAG_MULTI_STATEMENTS=67108864添加到抑制驱动程序语法错误的连接字符串中。但是现在当我运行以下命令时:queryDB.OpenSQLquery,connrecordset(queryDB)保持关闭状态,没有明显的错误。sq

mysql - 将 mysql 转储 sql 文件转换为可以导入 sqlite3 db 的格式的脚本

我有一个包含来自MySQL的表和数据的导出SQL文件,我想将它导入到Sqlite3数据库中。最好的方法是什么?仅通过sqlite3工具导入文件是行不通的。 最佳答案 这个shell脚本可以帮助你#!/bin/shif["x$1"=="x"];thenecho"Usage:$0"exitficat$1|grep-v'KEY"'|grep-v'UNIQUEKEY"'|grep-v'PRIMARYKEY'|sed'/^SET/d'|sed's/unsigned//g'|sed's/auto_increment/primarykeyauto

php - $wpdb->insert 不起作用,last_query 不显示插入 "SHOW FULL COLUMNS FROM"

我运行$wpdb->insert($table,$data),其中data是一个包含column_name=>value的数组,插入不起作用。我尝试了$wpdb->last_query并且返回了一些奇怪的东西:SHOWFULLCOLUMNSFROM`table_im_trying_to_insert`为什么最后一个查询不是我插入的? 最佳答案 我发现了问题。显然,对于新的WP更新,如果您尝试插入VARCHAR列并且列长度小于您尝试插入的长度,它就不会工作。在此更新之前,它会插入它但会剪掉多余的字符。

mysql - MySQL DB 中列名中的连字符

可能这个问题之前已经回答过,但我找不到。我正在使用一个2/3年前的MySQL数据库,它的列名中有连字符。当我尝试从我的Java代码中使用这些名称时,这些名称在连字符处被破坏(例如air_port变为air),因此找不到。我尝试在我的代码中将连字符替换为下划线,希望数据库可以平等对待它们,但这不起作用。如何转义连字符或如何访问这些列?这可能是正在使用的字符集的问题吗? 最佳答案 在`back-ticks`中包含名称 关于mysql-MySQLDB中列名中的连字符,我们在StackOverf

mysql - 如何更改 MySQL DB 中所有表的前缀?

我的提供程序安装到我的站点DrupalCMS。现在我需要从旧站点复制所有数据。我的旧数据库中有没有前缀的表,但在新数据库中,所有表都有dp_[table_name]前缀。 最佳答案 zerkms解决方案对我不起作用。我必须指定information_schema数据库才能查询Tables表。SELECTCONCAT('RENAMETABLE',GROUP_CONCAT('`',TABLE_SCHEMA,'`.`',TABLE_NAME,'`TO`',TABLE_SCHEMA,'`.`prefix_',TABLE_NAME,'`'))

bash - mysqldump 与 db 在一个单独的文件中

我正在编写一个单行命令,将所有数据库备份到它们各自的名称中,而不是使用在一个sql中全部转储。例如:db1保存到db1.sql,db2保存到db2.sql到目前为止,我已经收集了以下命令来检索所有数据库。mysql-uuname-ppwd-e'showdatabases'|grep-v'Database'我打算用awk管道来做类似的事情awk'{mysqldump-uuname-ppwd$1>$1.sql}'但这不起作用。我是bash新手,所以我的想法可能是错误的。我应该怎么做才能使其以各自的名称导出数据库?更新:好的,必须最终设法通过以下提示使其正常工作。这是最终的脚本#replac

sql - 使用 Zend DB 编写子查询

我在将下面的SQL转换为ZendDb查询时遇到了一些问题。$select='SELECTs.id,i.idasinstance_id,i.reference,i.name,i.sic_code,i.start_dateFROMslessJOINsle_instancesiONs.id=i.sle_idWHEREi.id=(SELECTMAX(id)FROMsle_instancesWHEREsle_id=s.id)ORDERBYi.nameASC';我已经了解了之前的代码-但ZendDb没有正确生成查询。谁能告诉我我错过了什么??$select=$db->select()->from(

mysql - MySQL `ALTER TABLE ADD COLUMN AFTER COLUMN` 的性能 - 在大表上

我想实现以下使用以下命令将列添加到现有表:ALTERTABLEfooADDCOLUMNbarAFTERCOLUMNold_column;与没有AFTERCOLUMN选项的相同命令相比,此选项所花费的时间是否会显着延长,如下所示?ALTERTABLEfooADDCOLUMNbar;第一个命令会在执行过程中使用更多的tmptable空间来执行操作吗?上下文:我有一个非常大的表(考虑超过十亿行),我想使用AFTERCOLUMN选项添加一个额外的列,但我不想受到太多惩罚. 最佳答案 我会这样做:CREATETABLEnewtableLIKE