Questions tagged «mysql»

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

5
使用LEFT JOIN更新MySQL中的多个表
我有两个表,并且想为LEFT JOIN中的所有行更新T1中的字段。 举一个简单的例子,更新以下结果集的所有行: SELECT T1.* FROM T1 LEFT JOIN T2 ON T1.id = T2.id WHERE T2.id IS NULL 在MySQL手册指出: 多表UPDATE语句可以使用SELECT语句中允许的任何类型的联接,例如LEFT JOIN。 但是我在记录的多表UPDATE中找不到执行此操作的正确语法。 正确的语法是什么?
165 mysql  sql-update 

7
MySQL中的分隔符
我经常看到人们在使用定界符。我试图找出什么是分隔符,以及它们的目的是什么。谷歌搜索20分钟后,我找不到一个令我满意的答案。所以,我现在的问题是:什么是分隔符,何时应使用它们?
165 mysql  delimiter 


30
Laravel迁移:即使指定,唯一键也太长
我正在尝试迁移Laravel中的用户表。当我运行迁移时,出现以下错误: [Illuminate \ Database \ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节(SQL:alter table users添加唯一的users_email_uniq(email)) 我的迁移如下: Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('name', 32); $table->string('username', 32); $table->string('email', 320); $table->string('password', 64); $table->string('role', 32); $table->string('confirmation_code'); $table->boolean('confirmed')->default(true); $table->timestamps(); $table->unique('email', 'users_email_uniq'); }); 经过一番谷歌搜索后,我发现了这个错误报告,泰勒说您可以将索引键指定为的第二个参数unique(),这已经完成了。它仍然给出错误。这里发生了什么?
165 php  mysql  laravel 

10
如何在Docker容器中使用架构初始化MySQL数据库?
我正在尝试创建一个带有MySQL数据库的容器并将架构添加到这些数据库。 我当前的Dockerfile是: FROM mysql MAINTAINER (me) <email> # Copy the database schema to the /data directory COPY files/epcis_schema.sql /data/epcis_schema.sql # Change the working directory WORKDIR data CMD mysql -u $MYSQL_USER -p $MYSQL_PASSWORD $MYSQL_DATABASE < epcis_schema.sql 为了创建容器,我遵循Docker提供的文档并执行以下命令: docker run --name ${CONTAINER_NAME} -e MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} -e MYSQL_USER=${DB_USER} -e MYSQL_PASSWORD=${DB_USER_PASSWORD} -e MYSQL_DATABASE=${DB_NAME} -d mvpgomes/epcisdb …

10
错误1044(42000):用户'@'localhost'对数据库'db'的访问被拒绝
我想开始在MySQL中编写查询。 show grants 显示: +--------------------------------------+ | Grants for @localhost | +--------------------------------------+ | GRANT USAGE ON *.* TO ''@'localhost' | +--------------------------------------+ 我没有任何用户ID,但是当我要成为一个用户时,我没有特权,即使我没有一个用户,我也不知道如何授予特权! mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa'; ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr ivilege(s) for this operation 我尝试以root身份登录: mysql> mysql …
164 mysql 

2
如何在MySQL中向现有列添加非空约束
我有一个名为“ Person”的表名,下面是列名 P_Id(int), LastName(varchar), FirstName (varchar). 我忘了NOT NULL约束P_Id。 现在,我尝试使用以下查询将“ NOT NULL约束” 添加到名为的现有列中P_Id, 1. ALTER TABLE Person MODIFY (P_Id NOT NULL); 2. ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id); 我收到语法错误...。
164 mysql  constraints 


2
从Go连接到MySQL的推荐方法是什么?
我正在寻找一种可靠的解决方案,以从Go连接到MySQL数据库。我已经看到了一些库,但是很难确定完整性和当前维护的不同状态。我没有复杂的需求,但是我想知道人们所依赖的是什么,或者连接到MySQL的最标准的解决方案是什么。
163 mysql  database  go 

13
在OS X 10.7中找不到Mysql命令
我无法让我的MySQL在OS X 10.7上启动。它位于/usr/local/mysql/bin/mysql 当我mysql --version在终端中输入命令时,找不到命令。 我试过这无法从命令行mac访问mysql,但仍然找不到命令。我尝试使用dmg安装mysql,并且尝试通过自制软件安装它,但我无法使其正常工作。当我尝试使用自制软件启动mysql时,我无法启动MySQL 这是我的$PATH: / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin:/ usr / local / git / bin:/ Users / Victoria / bin:/ usr / local // usr / local / mysql / bin / …
163 mysql 

2
MySQL处于“正在发送数据”状态是什么意思?
如果Mysql查询是什么意思? SHOW PROCESSLIST; 在“状态”列中返回“发送数据”? 我想这意味着查询已经执行,MySQL正在向客户端发送“结果”数据,但是我想知道为什么它要花费这么多时间(最多一个小时)。 谢谢。
163 mysql 


13
在Mac OS Lion上从命令行启动MySQL服务器
我为Mac安装了mySQL。除了使用System Preference中安装的mySQL.prefPane工具启动SQL Server之外,我还想知道从命令行启动的指令。我做如下: 后 苏根 我通过命令行启动mySQL服务器,它产生如下错误: sh-3.2# / usr / local / mysql / bin / mysqld 111028 16:57:43 [警告]设置lower_case_table_names = 2是因为/usr/local/mysql-5.5.17-osx10.6-x86_64/data/的文件系统不区分大小写 111028 16:57:43 [错误]致命错误:请阅读手册的“安全性”部分,以了解如何以root身份运行mysqld! 111028 16:57:43 [错误]中止 111028 16:57:43 [注意] / usr / local / mysql / bin / mysqld:关闭完成 请帮我! 编辑: 原因在这里:http : //dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html 下面的xdazz答案中描述了一种解决方案。

22
如何解决“字符串值错误”错误?
在注意到一个应用程序倾向于由于不正确的字符串值错误而丢弃随机电子邮件之后,我仔细检查并切换了许多文本列,以使用utf8列字符集和默认列归类(utf8_general_ci),以便它可以接受它们。这样可以修复大多数错误,并使应用程序在遇到非拉丁电子邮件时也停止获得sql错误。 尽管如此,某些电子邮件仍然导致程序遇到不正确的字符串值错误: (Incorrect string value: '\xE4\xC5\xCC\xC9\xD3\xD8...' for column 'contents' at row 1) 内容列是MEDIUMTEXT使用utf8列字符集和utf8_general_ci列排序规则的数据类型。在此列中没有可切换的标志。 请记住,除非绝对必要,否则我不想触摸甚至查看应用程序源代码: 是什么导致该错误?(是的,我知道电子邮件中到处都是随机垃圾,但我认为utf8可以允许) 我该如何解决? 此修复程序可能产生什么影响? 我考虑的一件事是在打开二进制标志的情况下切换到utf8 varchar([some large number]),但我对MySQL并不熟悉,也不知道这样的修复是否有意义。
162 mysql 

26
在MySQL中,我可以复制一行以插入同一张表吗?
insert into table select * from table where primarykey=1 我只想复制一行以插入到同一表中(即,我想复制表中的现有行),但是我想这样做而不必在“选择”之后列出所有列,因为该表具有列过多。 但是当我这样做时,我得到了错误: 密钥1的条目“ xxx”重复 我可以通过创建另一个表来创建一个表,该表具有与要复制的记录的临时容器相同的列: create table oldtable_temp like oldtable; insert into oldtable_temp select * from oldtable where key=1; update oldtable_tem set key=2; insert into oldtable select * from oldtable where key=2; 有没有更简单的方法来解决这个问题?
162 mysql  copy  duplicates  row 

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.