Questions tagged «mysql»

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

13
最佳实践多语言网站
我已经在这个问题上苦苦挣扎了好几个月了,但是以前我从来没有需要探索所有可能的选择的情况。现在,我觉得该是时候了解各种可能性并建立自己的个人喜好了,以便在我即将进行的项目中使用。 首先让我勾勒出我要寻找的情况 我将要升级/重新开发已经使用了一段时间的内容管理系统。但是,我觉得多语言是对该系统的极大改进。在我没有使用任何框架之前,我将在即将到来的项目中使用Laraval4。Laravel似乎是更干净的PHP编码方式的最佳选择。Sidenote: Laraval4 should be no factor in your answer。我正在寻找独立于平台/框架的一般翻译方式。 应该翻译什么 由于我正在寻找的系统需要尽可能地方便用户使用,因此管理翻译的方法应在CMS内部。无需启动FTP连接即可修改翻译文件或任何html / php解析的模板。 此外,我正在寻找最简单的方法来转换多个数据库表,而无需创建其他表。 我自己想到了什么 我一直在寻找,阅读和尝试自己的东西。我有几个选择。但是我仍然不觉得自己已经达到了我真正追求的最佳实践方法。现在,这是我想出的,但是这种方法也有副作用。 PHP解析模板:模板系统应由PHP解析。这样,我就可以将转换后的参数插入HTML,而不必打开模板并进行修改。除此之外,PHP解析的模板使我能够为整个网站使用1个模板,而不必为每种语言都拥有一个子文件夹(这是我以前使用的)。达到此目标的方法可以是Smarty,TemplatePower,Laravel's Blade或任何其他模板解析器。正如我所说,这应该独立于书面解决方案。 数据库驱动的:也许我不需要再次提及。但是解决方案应该是数据库驱动的。CMS的目标是面向对象和MVC,所以我需要考虑字符串的逻辑数据结构。正如我的模板将被结构化:模板/控制器/ View.php也许这一结构将最有意义:Controller.View.parameter。数据库表将这些字段与字段长在一起value。在模板内部,我们可以使用某种排序方法,例如echo __('Controller.View.welcome', array('name', 'Joshua'))和参数contains Welcome, :name。因此结果是Welcome, Joshua。这似乎是执行此操作的好方法,因为编辑器很容易理解诸如:name之类的参数。 数据库负载低:如果在旅途中加载这些字符串,上述系统当然会导致数据库负载。因此,我需要一个缓存系统,以便在管理环境中编辑/保存语言文件后立即重新呈现它们。由于生成了文件,因此还需要一个良好的文件系统布局。我想我们可以选择languages/en_EN/Controller/View.php最适合的是.ini或.ini。也许.ini甚至可以更快地解析。该数据应包含中的数据format parameter=value; 。我猜这是最好的方法,因为渲染的每个View都可以包含它自己的语言文件(如果存在)。然后,应将语言参数加载到特定视图,而不是在全局范围内加载,以防止参数相互覆盖。 数据库表翻译:实际上,这是我最担心的事情。我正在寻找一种创建News / Pages / etc的翻译的方法。尽快。每个模块都有两个表(例如News和News_translations)是一个选项,但是要获得一个好的系统感觉很费力。有一个问题我想出了是基于对事物data versioning系统我写的:有一个数据库表名Translations,这个表有一个独特的组合language,tablename和primarykey。例如:en_En / News / 1(请参阅ID为1的“新闻”项目的英文版本)。但是此方法有两个巨大的缺点:首先,该表往往会在数据库中存储大量数据时变得很长,其次,使用此设置来搜索表将是一件艰巨的工作。例如,搜索该项目的SEO段将是全文搜索,这真是愚蠢。但另一方面:这是一种非常快速地在每个表中创建可翻译内容的快速方法,但我不认为这会增加缺点。 前端工作:前端也需要一些思考。当然,我们会将可用的语言存储在数据库中,并停用所需的语言。这样,脚本可以生成一个下拉菜单来选择一种语言,后端可以自动决定可以使用CMS进行哪些翻译。然后,在获取用于视图的语言文件或为网站上的内容项获取正确的翻译时,将使用所选的语言(例如en_EN)。 因此,它们在那里。到目前为止,我的想法。它们甚至还不包括日期等的本地化选项,但是由于我的服务器支持PHP5.3.2 +,因此最好的选择是使用国际扩展名,如此处所述:http ://devzone.zend.com/1500/internationalization-in -php-53 / -但这将在以后的开发中使用。目前,主要问题是如何拥有网站内容翻译的最佳实践。 除了我在这里解释的所有内容之外,我还有另一件事尚未决定,它看起来像一个简单的问题,但实际上,这让我头疼: 网址翻译?我们应该这样做吗?又以什么方式? …

4
如何使用MySQL DECIMAL?
我不太了解MySQL的DECIMAL。我需要该行能够包含从00.0001到99.9999之间的任何数字。我将如何构建这样的结构?
176 mysql 

6
在准备好的语句中使用“ like”通配符
我正在使用准备好的语句来执行mysql数据库查询。我想基于各种关键字实现搜索功能。 为此,我需要使用LIKE关键字,这一点我知道很多。而且我之前也使用过预处理语句,但是我不知道如何使用它,LIKE因为从以下代码中,我将在哪里添加'keyword%'? 我可以直接在pstmt.setString(1, notes)as (1, notes+"%")或类似的东西中使用它吗?我在网络上看到很多帖子,但在任何地方都没有好的答案。 PreparedStatement pstmt = con.prepareStatement( "SELECT * FROM analysis WHERE notes like ?"); pstmt.setString(1, notes); ResultSet rs = pstmt.executeQuery();

15
如何得知MySQL表的最后更新时间?
在页面的页脚中,我想添加诸如“最后更新xx / xx / 200x”之类的内容,该日期为最后一次更新某些mySQL表的时间。 最好的方法是什么?有检索上次更新日期的功能吗?每当需要此值时,是否应该访问数据库?
176 mysql  sql 

8
如何在MySQL中查看日志文件?
我读过Mysql服务器创建了一个日志文件,其中记录了所有活动-如何时执行查询以及执行什么查询。 有人可以告诉我它在系统中的什么位置吗?我该怎么读? 基本上,我需要使用不同的输入[两个日期之间的备份]来备份数据库,所以我认为我需要在此处使用日志文件,这就是为什么要这样做... 我认为必须以某种方式保护此日志的安全,因为可能会记录诸如用户名和密码之类的敏感信息[如果有任何查询要求];这样可以确保它安全,不容易被看到吗? 我具有root访问系统的权限,如何查看日志? 当我尝试打开/var/log/mysql.log时,它是空的。 这是我的配置文件: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] log = /var/log/mysql/mysql.log binlog-do-db=zero user = mysql socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp skip-external-locking bind-address = 127.0.0.1 # # …
176 mysql  logging 

4
如何从本地计算机上mysqldump远程数据库
我需要在远程服务器上执行数据库的mysqldump,但该服务器未安装mysqldump。我想在我的机器上使用mysqldump连接到远程数据库并在我的机器上进行转储。 我试图创建一个ssh隧道,然后进行转储,但这似乎不起作用。我试过了: ssh -f -L3310:remote.server:3306 user@remote.server -N 隧道创建成功。如果我做 telnet localhost 3310 我得到一些显示正确服务器mysql版本的内容。但是,执行以下操作似乎尝试在本地连接 mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
176 mysql  mysqldump 


30
Laravel迁移错误:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节
Laravel 5.4上的迁移错误 php artisan make:auth [Illuminate \ Database \ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节(SQL:更改表users添加唯一users_email_unique(email)) [PDOException] SQLSTATE [42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节

9
MySQL用户数据库没有密码列-在OSX上安装MySQL
我正在尝试更改MySql根密码。 我所做的如下。 安装MySql-5.7.6〜.dmg(社区服务器)和工作台。 在OSX系统首选项上关闭服务器。 使用控制台访问MySql。命令是mysqld_safe --skip-grant 执行update user set password=password('1111') where user='root';并得到一条错误消息-> ERROR 1054 (42S22): Unknown column 'password' in 'field list'。 仅供参考,我做到了use mysql;。因此,我确实在用户表上选择了查询,发现密码列实际上不存在。 这很奇怪。原始用户表是否可能没有密码列? 如何更改不存在的密码? 谢谢你的回答:D
176 mysql  macos  passwords  root 

7
计算VARCHAR字段中字符串出现的次数?
我有一个这样的表: TITLE | DESCRIPTION ------------------------------------------------ test1 | value blah blah value test2 | value test test3 | test test test test4 | valuevaluevaluevaluevalue 我试图弄清楚如何返回在每个DESCRIPTION中出现一个字符串的次数。 因此,如果我想计算“值”出现的次数,则sql语句将返回以下内容: TITLE | DESCRIPTION | COUNT ------------------------------------------------------------ test1 | value blah blah value | 2 test2 | value test | 1 test3 | test test test …
175 mysql  sql 



1
SQL:如何获取列中每个不同值的计数?
我有一个名为“ posts”的SQL表,如下所示: id | category ----------------------- 1 | 3 2 | 1 3 | 4 4 | 2 5 | 1 6 | 1 7 | 2 每个类别编号对应一个类别。我将如何计算每个类别在一个sql查询中全部出现在帖子中的次数? 例如,这样的查询可能返回如下符号数组: (1:3, 2:2, 3:1, 4:1) 我当前的方法是对每个可能的类别使用查询,例如:SELECT COUNT(*) AS num FROM posts WHERE category=#,然后将返回值组合到最终数组中。但是,我正在寻找一种仅使用一个查询的解决方案。
175 mysql  sql  count 


23
无法添加或更新子行:外键约束失败
表格1 +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | UserID | int(11) | NO | PRI | NULL | auto_increment | | Password | varchar(20) | NO | | | | | Username | varchar(25) | NO | | | | | …
174 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.