草庐IT

alter_column

全部标签

php - 拉维尔 4 : How to get selected/specific columns in a many to many relationship?

我想获取与特定对话相关的所有用户。数据透视表有user_id和conversation_id列。user_id和conversation_id分别引用user和conversations表中的id列。所以我做到了:Conversations::find($conv_id)->users()这没问题,但它会返回相关用户的所有详细信息。根据上面的代码,如何只返回用户的某些列,例如id和name?附言此外,我知道我可以通过为数据透视表创建一个模式来做到这一点,但这似乎有点矫枉过正。为数据透视表创建模式是一种好习惯吗?我试过了Conversations::select('id','name')

php - "Unknown column in ' 字段列表 '"当准备语句的占位符在子查询中

我在Ubuntu14.04LTS上使用PHP5.5.9和MySQL5.5.44以及mysqlnd5.0.11-dev。以下语句无法准备:$db->prepare("SELECTnr.xFROM(SELECT?ASx)ASnr")尽管以下语句已成功准备:$db->prepare("SELECTnr.xFROM(SELECT'1337'ASx)ASnr")造成这种差异的原因是什么?Themanual说“参数标记只能用于数据值应该出现的地方,不能用于SQL关键字、标识符等。”但这是一个数据值。不是PDO的错同样的事情发生在独立客户端:mysql-uredacted-predactedreda

mysql - 错误 1054 (42S22) : Unknown column 'marks' in 'field list'

这是一个非常简单的MySQL查询。INSERTINTOusers_questions(user_id,question_id,mcopt_id,timestamp)VALUES(50053,875,3092,'2015-08-2218:01:44');当我使用它时,我得到了ERROR1054(42S22):Unknowncolumn'marks'in'fieldlist'marks是同一表中的一个列,其默认值设置为NULL,在上面的查询中我什至没有使用列名marks。那么为什么我会收到错误消息?表的结构:+-------------+-----------+------+-----+-

MySQL 查询 : use LIMIT on one table column having an OUTER JOIN

我有一个主用户数据库表和一个要外连接的“元”表。基本上基本的查询是SELECT*FROMusers_tableLEFTOUTERJOINmeta_tableONusers_table.id=meta_table.user_idORDERBYusers_table.idASC但我必须限制users_tableID列的结果。如果我使用标准的LIMIT子句,查询也会计算元值。是否可以限制用户的表ID列并将元数据与连接相关联? 最佳答案 你可以尝试使用子查询。例如SELECT*FROMmeta_tableRIGHTOUTERJOIN(SEL

java - ALTER TABLE FOREIGN KEY 从 java 到 mysql

好吧,我想在我的数据库中进行修改,所以我需要使用altertable,但java似乎无法做到这一点。这句话ALTERTABLEloansADDFOREIGNKEY(id_reader)REFERENCESreaders(id);如何执行?我是这样做的:rawStatement="ALTERTABLEloansADDFOREIGNKEY(id_reader)REFERENCESreaders(id);";currentStatement=conn.createStatement();currentStatement.execute(rawStatement);最后一行是否正确?据我所知,

MySQL: "Column ' column_name' in where 子句不明确”

我加入了2个表例如table_A+---------+-----------+-----------+|user_id|ticket_id|user_name|+---------+-----------+-----------+table_B+-----------+-------------+|ticket_id|ticket_name|+-----------+-------------+如果我运行以下查询:SELECTtable_A.user_id,table_A.user_name,table_B.ticket_nameFROMtable_ALEFTJOINtable_BON

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

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

php - 以 "wrong"方式呈现表 : transpose Columns and Rows?

我想知道是否有一种简单的方法可以使用标准while(mysql_fetch_assoc)绘制表格,其中最左边的列是标题,如下所示:Name|PeterJacksson|StevenSpielberg|MartinScorsese|Birthyear|1961|1946|1942|Movie|LordoftheRings|JurassicPark|CapeFear|(老鼠!SO不支持表格标签)。 最佳答案 我会通过将元素添加到数组结构然后打印该结构来做到这一点:$data=array('name'=>array(),'birth'=>

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 - 错误 1241 (21000) : Operand should contain 1 column(s) when executing query

INSERTINTOPeople(Track_id_Reference)SELECTtrack_idFROMTracksWHEREtrack_titleIN(SELECTtracktitleFROMtop100WHEREartistIN(SELECTp.People_name,t.artistFROMPeopleASpRIGHTJOINtop100AStONp.People_name=t.artistUNIONDISTINCTSELECTp.People_name,t.artistFROMPeopleASpLEFTJOINtop100AStONp.People_name=t.artis