Questions tagged «mysql»

MySQL是使用结构化查询语言(SQL)的免费,开放源代码关系数据库管理系统(RDBMS)。请勿将此标签用于其他数据库,例如SQL Server,SQLite等。那些是不同的数据库,它们都使用自己的SQL方言来管理数据。

4
如何创建具有共享表结构的多租户数据库?
我们的软件当前在MySQL上运行。所有租户的数据都存储在同一架构中。由于我们使用的是Ruby on Rails,因此我们可以轻松确定哪些数据属于哪个租户。但是,当然有些公司担心其数据可能会遭到破坏,因此我们正在评估其他解决方案。 到目前为止,我已经看到了三种选择: 多数据库(每个租户都有自己的-每个客户几乎与1台服务器相同) 多模式(在MySQL中不可用,每个租户都在共享数据库中获得自己的模式) 共享模式(我们当前的方法,可能在每列上都有其他标识记录) 我最喜欢Multi-Schema(考虑到成本)。但是,创建一个新帐户并进行迁移似乎很痛苦,因为我将不得不遍历所有模式并更改其表/列/定义。 问: Multi-Schema似乎被设计为每个租户都有略微不同的表-我不想要这个。是否有任何RDBMS允许我使用多模式多租户解决方案,其中所有租户之间共享表结构? PS多重代表我的意思是超级多重(10.000+个租户)。


4
MySQL结果以逗号分隔的列表
我需要运行类似的查询: SELECT p.id, p.name, (SELECT name FROM sites s WHERE s.id = p.site_id) AS site_list FROM publications p 但是我希望子选择返回逗号分隔的列表,而不是数据列。这有可能吗?如果可以,怎么办?
129 sql  mysql  concatenation 

4
MySQL,MySQLi和PDO有什么区别?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 7年前关闭。 改善这个问题 MySQL,MySQLi和PDO有什么区别? 哪一个最适合与PHP-MySQL一起使用?
128 php  mysql  pdo  mysqli 


17
您如何版本化数据库架构?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 10个月前关闭。 改善这个问题 您如何准备SQL增量?您是将每个更改架构的SQL手动保存到增量文件夹中,还是有某种自动差异化过程? 我对用于对数据库架构和源代码进行版本控制的约定感兴趣。也许是一个预先提交的钩子,可以与架构进行区分? 另外,除了DbDeploy之外,还有哪些差异差异选项? 编辑:看到答案,我想澄清一下,我熟悉使用增量运行数据库迁移的标准方案。我的问题是最好自己自动创建增量。 同样,版本控制适用于PHP和MySQL(如果有所帮助)。(请没有Ruby解决方案)。
128 sql  mysql  schema  versioning 

6
PHP代码将MySQL查询转换为CSV [关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 请问在PHP中将MySQL查询转换为CSV的最有效方法是什么? 最好避免使用临时文件,因为这会降低可移植性(需要目录路径和设置文件系统权限)。 CSV还应该包括一列字段名。
128 php  mysql  csv 


9
如何获取MySQL视图列表?
我正在寻找一种列出数据库中所有视图的方法。 最初,我在MySQL论坛上找到并尝试了一个答案: SELECT table_name FROM information_schema.views WHERE information_schema.views.table_schema LIKE 'view%'; 这怎么行不通,返回一个空集。(我知道他们在那里!) 这些也会失败: mysql> use information_schema; Database changed mysql> select * from views; ERROR 1102 (42000): Incorrect database name 'mysql.bak' mysql> select * from tables; ERROR 1102 (42000): Incorrect database name 'mysql.bak' 为什么这不起作用?
127 mysql 

13
MySQL整数字段在PHP中以字符串形式返回
我在MySQL数据库中有一个表字段: userid INT(11) 因此,我使用以下查询将其调用到我的页面: "SELECT userid FROM DB WHERE name='john'" 然后,为了处理结果,我要做: $row=$result->fetch_assoc(); $id=$row['userid']; 现在,如果我这样做: echo gettype($id); 我得到一个字符串。这不应该是整数吗?
127 php  mysql  types  int  gettype 

15
重新排序/重置自动递增主键
我有一个带有自动递增主键的MySQL表。我删除了表中间的一些行。例如,现在在ID列中有类似的内容:12、13、14、19、20。我删除了15、16、17和18行。 我想重新分配/重置/重新排序主键,以便保持连续性,即将19设为15,将20设为16,依此类推。 我该怎么做?
127 mysql  database 

11
在MySQL 4.0中同时具有Created和Last Updated timestamp列
我有以下表模式; CREATE TABLE `db1`.`sms_queue` ( `Id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `Message` VARCHAR(160) NOT NULL DEFAULT 'Unknown Message Error', `CurrentState` VARCHAR(10) NOT NULL DEFAULT 'None', `Phone` VARCHAR(14) DEFAULT NULL, `Created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `LastUpdated` TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, `TriesLeft` tinyint NOT NULL DEFAULT 3, PRIMARY KEY …

20
在MySQL中交换列值
我有一个带有坐标的MySQL表,列名称为X和Y。现在我想交换此表中的列值,以使X成为Y并且Y成为X。最明显的解决方案是重命名列,但是我不想进行结构更改,因为我不一定有这样做的权限。 这可能以某种方式与UPDATE有关吗?更新表SET X = Y,Y = X显然不会满足我的要求。 编辑:请注意,我上面提到的权限限制有效地阻止了ALTER TABLE或其他更改表/数据库结构的命令的使用。不幸的是,重命名列或添加新列不是选项。
127 mysql  database 

18
MySQL:启用LOAD DATA LOCAL INFILE
我在Ubuntu 12 LTS上运行Mysql 5.5。如何在my.cnf中启用LOAD DATA LOCAL INFILE? 我曾尝试在各个位置的配置中添加local-infile,但仍收到“此MySQL版本不允许使用的命令”
127 mysql 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.