草庐IT

table_id

全部标签

mysql - 在 MySQL 中选择使用 `database_name` .`viewname` .* 语法会抛出 "Unknown table ' database_name.viewname'"

我在MySQL和数据库View方面遇到了一个奇怪的问题。我有一个这样定义的View:CREATEVIEWcircuitsAS(SELECTId,IdASOld_Id,NameFROMcircuits_1)UNION(SELECTId+1000ASId,IdASOld_Id,NameFROMcircuits_2)我必须将此View与另一个数据库中的表连接起来。为此,我通常在表名前加上它的数据库名,例如db_name.table_name。我已经使用ORM映射了这个View,指定了它的前缀,结果查询是这个:SELECT`webapp`.`circuits`.*FROM`webapp`.`c

mysql - Laravel 查询生成器联合 : Add 'table name' column

有3个不同的数据库表articles、reviews、posts,它们都有这些列:'id','title','user_id','created_at','body'.我正在使用Laravel5.6和yajra/laravel-datatables包,所以我需要“联合”这三个表并将其放入jQueryDataTables中。为此,我使用了Laravel的union查询生成器方法:$fields=['id','title','user_id','created_at','body'];$articles=DB::table('articles')->select($fields);$rev

mysql - SELECT COUNT with JOIN optimization for tables with > 100M rows

我有以下问题SELECTSUBSTRING(a0_.created_dateFROM1FOR10)ASsclr_0,COUNT(1)ASsclr_1FROMapplicationsa0_INNERJOINpackage_codesp1_ONa0_.id=p1_.application_idWHEREa0_.created_dateBETWEEN'2019-01-01'AND'2020-01-01'ANDp1_.type='Package1'GROUPBYsclr_0---编辑---你们中的大多数人都关注GROUPBY和SUBSTRING,但这不是问题的根源。以下查询具有相同的执行时间:

mysql - 后跟 SELECT LAST_INSERT_ID 时 INSERT 不起作用

有很多关于LAST_INSERT_ID()的问题就我而言,问题是:当INSERT后跟SELECTLAST_INSERT_ID()时,没有插入任何记录INSERTINTOsequences(state)VALUES(0);selectLAST_INSERT_ID();>>>80//nothingisaddedtoDBINSERT它自己的作品OKINSERTINTOsequences(state)VALUES(0);>>>selectLAST_INSERT_ID();>>>81//rowisinserted为了测试,我使用的是SequelPro,DB是Amazon的RDSMySQL。当我使

php - 如何让用户 ID 登录并与他正在做的帖子一起注册?

我正在开发一个web应用程序,并且正在处理表之间的关系。我想做以下事情:用户将注册一台与之相关的打印机,程序将获取他在表单中输入的数据,并连同他的ID一起保存在数据库中,以便在我调用他时在另一个表中引用。我尝试执行以下操作:publicfunctionsavePrinter(Request$request){$user=$request->user()->id;Printers::create($request->all(),$request->user()->id);returnredirect()->back();}打印机.php我希望程序在打印机表中保存已登录用户的ID以供引用观

php - 如何在预订时屏蔽餐 table ?

如何阻止预订?我的预订表有from_datetime和to_datetime字段。我想避免两个用户同时预订某样东西的情况。我的尝试:终端1:-user1LOCKTABLEbookingREAD;INSERTINTObookingVALUES('2019-01-0112:00:00','2019-01-0114:00:00');现在tablebooking应该被锁定,其他用户应该不能从它读取,但是......终端2:-user2SELECT*frombooking我有结果...为什么?这应该被阻止,直到我在TERMINAL1中这样做:unlocktables;

mysql - Zend_Db last_insert_id 返回超大数

我有一个主键是64位BigInt的MySql表我正在使用Zend_Db(ZendFramework1.8.4)插入一个新行,然后调用lastInsertId()来检索新行的id,我得到的是一个超大数字,例如18446744072633694008,这个数字发生了变化有时,但总是这么大。自动递增索引设置为0,并且在数据库中记录实际上插入了正确的主ID,(0,1,2...),只是从lastInsertId()返回的ID给出了奇怪的数字。这是不处理64位数字的Zend_db的已知问题吗?环境:Zend框架1.8.432位机器上的Apache2,操作系统MySQL5.1PHP5.2.4MySQ

sql - CREATE TABLE AS SELECT 杀死 MySQL

我们在相当强大的硬件(具有8个Xeon内核、8GbRAM和RAID10的HPDL360)上运行中等负载(200-300QPS)的MySQL服务器。所有表都是innodb并且事件数据集适合分配的innodb_buffer_pool_size。我们的数据库是标准化的,为了减少连接的数量,我们使用物化View来展平数据集。由于数据每天分批添加几次,因此使用CREATETABLEASSELECT重新生成MV,而不是使用复杂的触发器动态更新。问题是,有时在运行这些CREATE查询时(每个查询需要5到50秒),其他与服务器无关的查询似乎排在CREATE后面查询,导致数据库无响应。为了(重新)生成M

mysql - 如何从不存在id的子查询中获取

我有一个从表中检索结果的sql查询,但我需要它仅在ID不在另一个表中时显示结果。例子$sql="SELECTidFROMTABLE_1WHEREidNOTIN(SELECTmore_idFROMTABLE_2)想法是,如果id不存在于“more_id”列表中,那么它应该显示结果。它似乎不起作用,任何帮助将不胜感激。我应该提到“more_id”只是同一个“id”,但在另一个存储其他记录的表中。 最佳答案 这应该有效:$sql="SELECTTABLE_1.idFROMTABLE_1LEFTJOINTABLE_2ONTABLE_1.id

sql - 如果我们有唯一值,为什么我们在表中使用 ID 列

我想在这里问一个小问题,但我真的不知道这个问题的答案是什么。我有一个账户表,里面有用户名|密码用户名是主键,所以它是唯一的所以有必要在表中添加一个ID列吗?如果是,那有什么好处?谢谢 最佳答案 通过数字键搜索稍微快一些(因数据库而异)。此外,如果您对用户表有大量引用,则可以通过将数字ID作为外键而不是字符串名称来节省一些数据库空间。 关于sql-如果我们有唯一值,为什么我们在表中使用ID列,我们在StackOverflow上找到一个类似的问题: https:/