最近做个数据库远程备份  在还原数据库的时候  发现一个错误  进行不下去了

Data truncated for column ‘style’ at row 22 With statement:

INSERT INTO `abc` VALUES (‘1234’, ‘188’, ‘FDSOJFE2DF8’, ‘4’, ‘订单满1000元减100元’, null, ‘0.00’),

查了一下是emun引起的 有个style字段emun(1,2,3)  not null

解决办法是 修改表设置一个默认值  然后再用sql语句update一下

update `abc` set  `style`=1 where `style` not  in (1,2,3);

1.ctrl+q 打开查询窗口
2.ctrl+/ 注释sql语句
3.ctrl+shift +/ 解除注释
4.ctrl+r 运行查询窗口的sql语句
5.ctrl+shift+r 只运行选中的sql语句
6.F6 打开一个MySQL命令行窗口
7.ctrl+l 删除一行
8.ctrl+n 打开一个新的查询窗口
9.ctrl+w 关闭一个查询窗口

为了备份虚拟主机的MySQL数据库,只能用mysqldump导出到本地。

运行:

mysqldump –opt -h192. 168.0 . 156 -uUsername -pPassword databaseName>database.sql

mysqldump –opt -h192.168.0.156 -uUsername -pPassword databaseName>database.sql

但由于数据库用户的权限不够,总显示:
mysqldump: Got error: 1044 : Access denied for user ‘Username’ @ ‘%’ to database ‘databaseName’ when using LOCK TABLES

mysqldump: Got error: 1044: Access denied for user ‘Username’@’%’ to database ‘databaseName’ when using LOCK TABLES
是没有LOCK TABLES的权限,于是查看mysqldump的帮助,加上参数–skip-lock-tables
mysqldump –opt -h192. 168.0 . 156 -uUsername -pPassword –skip-lock-tables databaseName>database.sql

远程导出:

mysqldump -P [端口] -h [IP] -u [用户] -p test>d:/test.sql

例如:

mysqldump -P 3306 -h 192.168.1.224 -u root -p test>d:/test.sql
远程导入:

mysql -h[IP] -P[端口] -u[用户] -p test<c:/test.sql

例如:

mysql -h 192.168.1.224 -P 3306 -u root -p test<c:/test.sql

INET_ATON(expr)

给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数。地址可以是4或8比特地址。
mysql> SELECT INET_ATON(‘209.207.224.40’);
-> 3520061480

产生的数字总是按照网络字节顺序。如上面的例子,数字按照 209×2563 + 207×2562 + 224×256 + 40 进行计算。
INET_ATON() 也能理解短格式 IP 地址:
mysql> SELECT INET_ATON(‘127.0.0.1’), INET_ATON(‘127.1’);
-> 2130706433, 2130706433

注释: 在存储由INET_ATON() 产生的值时,推荐你使用 INT UNSIGNED 列。假如你使用 (带符号) INT列, 则相应的第一个八位组大于127的IP 地址值会被截至 2147483647 (即, INET_ATON(‘127.255.255.255’) 所返回的值)。

INET_NTOA(expr)
给定一个数字网络地址 (4 或 8 比特),返回作为字符串的该地址的电地址表示。
mysql> SELECT INET_NTOA(3520061480);
-> ‘209.207.224.40’