草庐IT

multiple-tables

全部标签

mysql - 这个 alter table 查询有什么问题?

我正在尝试使用此查询将一列添加到mysql表中,但mysql提示语法错误。我看过很多来源,但我看不出这里有什么问题。mysql>ALTERTABLEdogadddateTIMESTAMP(14);错误:ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'(14)'atline1表名'狗',列名'日期' 最佳答案 DATE在MySQL中

php - 设置@var := SELECT * FROM table_name: is it possible

我正在尝试编写我的MySQL查询,但我坚持这个-我有多个从我的php到SQL数据库的查询:SET@var:=SELECTMAX(first_column)FROMtable;SELECT@var,table.second_columnFROMtable;但它返回SQL错误。当我在phpmyadmin中使用它时,它工作正常。我用谷歌搜索,看到人们只在存储过程中使用“SET@var=MySQLquery”。是否可以按照我想要的方式使用它? 最佳答案 如果您正在运行多个查询(即,您的查询中有一个;),您需要将其作为两个单独的查询运行,或者

mysql - 使用mysql在一个查询中选择多个表中的 child 总数

我整个下午都在尝试处理一个(或两个或三个)查询,以便获得三个表的所有子表的计数。看看我的设计:用户表id_user|name1|foo2|bar获奖表id_won|user1|12|13|2绘制表格id_draw|user1|12|23|2丢tableid_lose|user1|12|13|1我想得到这样的东西:name|wons|draws|losesfoo|2|1|3bar|1|2|0这是我的尝试:selectu.name,w.total_w,d.total_d,l.total_lfromuseruLEFTJOIN(selectcount(user)astotal_w,userfr

mysql - 加速tokudb "alter table ... engine=TokuDB”

我正在尝试将一个4亿行的Innodb表转换为tokudb引擎。当我从"altertable...engine=TokuDB"开始时,事情一开始运行得非常快,(使用SHOWPROCESSLIST)我看到它每10秒读取大约100万行。但是一旦我达到大约19-20百万行,它就会开始减慢读取速度并且更像是每隔几秒读取10k行。是否有任何mysql或tokudb变量会影响ALTERTABLEtotokudb的工作速度?我尝试了tmp_table_size和其他一些方法,但似乎无法越过这个障碍。有什么想法吗? 最佳答案 我的解决方案是导出“到输

MySQL SELECT FROM a relation table WHERE 他们有相同的亲戚

我遇到的情况是有一个这样的关系表:eaters:idnamefruit1jackbanana2jackapple3janebanana4janeapple5janeorange6richardbanana7richardapple现在,谁吃过和“jack”一样的水果?例如在上表中,'Richard'就是答案。我想到的伪查询是:SELECTnameASthe_guyFROMeatersWHERE(SELECTfruitFROMeatersWHEREname=the_guy)=(SELECTfruitFROMeatersWHEREname='jack')而且我不知道这在MySQL中是否可行

mysql - 与 MySQL ALTER TABLE 相比,Oracle 架构的性能发生了变化?

当使用MySQLMyISAM表并发出ALTERTABLE语句来添加列时,MySQL会创建一个临时表并将所有数据复制到新表中,然后覆盖原始表。如果那个表有很多数据,这个过程可能会很慢(尤其是在重建索引时),并且需要您在磁盘上有足够的可用空间来存储该表的2个副本。这很烦人。Oracle在添加列时是如何工作的?在大table上速度快吗?我一直对能够在没有大量停机时间的情况下进行架构更改很感兴趣。我们一直在为我们的软件添加新功能,这需要在每次发布时更改架构。任何建议表示赞赏... 最佳答案 在Oracle中向一个大表中添加一个没有数据的列一

mysql - 相当于 "SELECT * FROM (SELECT table_name FROM...)"的东西?

此查询会运行,但它会生成一个表的名称作为结果,而不是实际从该表中进行选择。SELECTT.*FROM(SELECTtablenameFROMListOfTablesWHEREid=0)AST其中ListOfTables包含id=0,tablename='some_table',我想返回与我直接编写的相同的结果集:SELECT*FROMsome_table在MySQL5中是否有本地方法来执行此操作,还是我必须在应用程序中执行此操作? 最佳答案 要在MySQL中执行此操作,您需要创建一个preparedstatement您只能从user

mysql - PHP/MySQL : batch update multiple values

我已经想出了如何在每条记录的值相同时使用以下方法进行批量更新:UPDATEtblSETcol1='foo1'WHEREidIN(1,2,3)如果我有一个逗号分隔的值字符串,与ID匹配,我可以进行批量更新以不同方式更新值UPDATEtblSETcol1='1,0,1'WHEREidIN(1,2,3)感谢您的建议:编辑:将数据发送到此查询的html页面由如下复选框组成:等最多20个盒子。在服务器端,发布的数组使用implode转换为逗号分隔的字符串,所以我最终得到两个字符串,1,0,1代表值,1,2,3代表id。但是用户最多可以从此页面选中20个框。也许我必须以某种方式操纵数组。请注意,在

mysql - #1327 - 未声明的变量 : table_name

我正在将一些查询滚动到一个存储过程中,然后我遇到了#1327-Undeclaredvariable错误......不过奇怪的是它声称未声明的变量实际上是一个表名。解决问题所以我提取了它失败的部分过程,并尝试通过PHPMyAdmin直接在数据库上将其作为普通SQL查询运行……同样的事情。经过大量修改后,我似乎要加入另一张table。如果我在单个表上运行查询,没问题,如下所示:SET@i_channel_id=3;SET@i_product_id=90;SELECT`product_status_to_channel`.`status_code`INTO@s_status_codeFROM

php - SQLSTATE[42S02] : Base table or view not found: 1146 Table 'docgenerator.curricula' doesn't exist

我见过与我遇到的问题类似的问题,但没有一个能真正帮助到我。代码如下:Controller(创建和存储方法)namespaceApp\Http\Controllers;useApp\Curriculum;useApp\Company;useApp\User;useApp\Http\Controllers\Auth;useIlluminate\Http\Request;useIlluminate\Support\Facades\DB;useIlluminate\Support\Facades\Input;classCurriculumsControllerextendsController