All posts by Pramod T P

Solutions Architect / Engineering Manager - eCommerce

SQL FOREIGN KEY

SQL FOREIGN KEYin one table points to the primary key of another table .

Table – users

+—-+——+
| uid | name |
+—-+——+
|  1 | AAAA |
|  2 | BBBB |
|  3 | CCCC |
|  4 | DDDD |
|  5 | EEEE |
+—-+——+

Table  – orders

+—–+—–+——–+
| oid | uid | items  |
+—–+—–+——–+
|   1 |   1 | Pen    |
|   2 |   2 | Watch  |
|   3 |   3 | shoe   |
|   4 |   4 | mobile |
+—–+—–+——–+

Here the field uid in the table orders points to the column uid in users .

That is  uid in the orders is the foreign key and that in users is primary key

FOREIGN KEY constraint prevent any action that may destroy the relation between the tables.

It also prevent invalid data and make sure that the data to be inserted should be one of the primary key value in another

Example

CREATE TABLE IF NOT EXISTS `orders` (
`oid` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`items` varchar(255) NOT NULL,
PRIMARY KEY (`oid`),
FOREIGN KEY (uid) REFERENCES users(uid)
)

Cannot access admin panel after migration vbulletin

Upload tools.php from the do_not_upload folder into your admincp folder. Point your browser to it and reset the cookie domain. You cannot simply do that to one field in the database.

Before pointing the browser to the page , add the below given code in includes/config.php
.Add this line right under <?php

define(‘DISABLE_HOOKS’, true);

That would fix the issue

SQL PRIMARY KEY

SQL PRIMARY KEY uniquely identifies each record in a database table.

Primary keys must contain unique values and  primary key column cannot contain NULL

values. A table can not have more than one primary key .

Example

mysql> CREATE TABLE  `new_users` (`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`));
Query OK, 0 rows affected (0.10 sec)


SQL UNIQUE

SQL UNIQUE uniquely identifies each record in a database table.

The UNIQUE and PRIMARY KEY constraints both provide a guarantee for uniqueness for a column or set of columns.

A PRIMARY KEY constraint automatically has a UNIQUE constraint defined on it.

We can have many UNIQUE constraints in a table, but only one PRIMARY KEY .

Example

mysql> CREATE TABLE  `new_users` (`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE (Id));
Query OK, 0 rows affected (0.10 sec)


SQL NOT NULL

SQL NOT NULL  make sure that a column does not accept null values

Example

mysql> CREATE TABLE  `new_users` (`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`));
Query OK, 0 rows affected (0.09 sec)

Here the field will never have a null value

SQL UNION

SQL UNION can be  used to combine the result  two or more SELECT statements.

Notice that each SELECT statement within the UNION must have the same number of columns. The columns must also have similar data types. Also, the columns in each SELECT statement must be in the same order.

Syntax

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

MySQL Table – user1

+—-+——+
| id | name |
+—-+——+
|  1 | AAAA |
|  2 | BBBB |
|  3 | CCCC |
|  4 | DDDD |
+—-+——+

MySQL Table – user2

+—-+——+
| id | name |
+—-+——+
|  1 | PPPP |
|  2 | QQQQ |
|  3 | RRRR |
|  4 | RRRR |
+—-+——+

Example

mysql> SELECT * FROM user1 UNION SELECT * FROM user2 ;
+—-+——+
| id | name |
+—-+——+
|  1 | AAAA |
|  2 | BBBB |
|  3 | CCCC |
|  4 | DDDD |
|  1 | PPPP |
|  2 | QQQQ |
|  3 | RRRR |
|  4 | RRRR |
+—-+——+
8 rows in set (0.00 sec)